每日练习

题目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()