每日练习
题目1
从键盘获取输入的字符串
编写函数,统计字符串中有几个字母,几个数字,几个空格,几个其他字符,并返回结果
训练提示
使用到的字符串判断方法:1、str.isdigit() # 判断字符是否为数字
2、str.isalpha() # 判断字符是否为字母
3、str.isspace() # 判断字符是否为空格
操作步骤
第一步: 定义变量, 保存用户输入的数据
第二步: 定义函数,将用户输入的数据当作参数传入
第三步: 定义4个变量保存每个类型的字符个数
第四步:遍历参数,判断每个字符是字母、数字或空格,是哪个则给保存哪个类型的变量个数加 1
第五步:返回保存四个个数的变量
参考答案
str = input('请输入一个字符串:')
i = 0
j = 0
k = 0
for c in str:
if c.isdigit():
i += 1
elif c.isalpha():
j += 1
elif c.isspace():
k += 1
print(f'输入的字符串中,数字的个数有:{i}个,字母有:{j}个,空格有:{k}个')
题目2
设计程序,计算0到1000内的三个数a、b、c,a+b+c=1000且 a的平方+b的平方=c的平方,求a、b、c可以取的值有哪些
参考答案
for a in range(1001):
for b in range(0,1001-a):
c = 1000 - a - b
if a ** 2 + b ** 2 == c ** 2:
print(a, b, c)
拓展提高
题目1
设计一个函数,计算形参中单词的频率(即单词出现的次数),函数的返回值为字典类型{'单词1':次数, '单词2':次数}
,如'welcome to itcast welcome to Python Python is very cool'
, 返回内容为:{'welcome': 2, 'to': 2, 'itcast': 1, 'Python': 2, 'is': 1, 'very': 1, 'cool': 1}
训练提示
第一步:对字符串的内容以空格进行分割,返回值为列表,列表中元素为单词
第二步:通过for遍历列表
第三步:借助字典完成其功能
参考答案
str1 = input('请输入需要统计的单词内容:')
str2 = str1.split()
dict1 = {}
for i in str2:
sum = str2.count(i)
dict1[i] = sum
print(dict1)
自主预习
题目1
num = [1,1,2,3,4,4,5]
已知列表num, 完成列表num的去重,并使用一行代码完成num列表奇数的筛选
训练提示
set类型可以完成列表的去重,列表推导式可以一行代码完成奇数筛选
参考答案
num = [1, 1, 2, 3, 4, 4, 5]
new_num = list(set(num))
for i in new_num:
if i % 2 == 0:
new_num.remove(i)
print(new_num)
题目2
新建一个文件,写入“人生苦短,我用Python”,然后将这个文件中的数据读取出来,打印到控制台
参考答案
f = open('1.txt','r')
for line in f:
print(line)
f.close()