题目1:编写程序,用户输入一个四位整数,输出其百位千位和个位数字之和。
【题目描述】 编写程序,用户输入一个四位整数,输出其百位千位和个位数字之和。
【思路分析】
将输入的四位整数转成列表,并计算对应位置的和即可。
【实现代码】
# 编写程序,用户输入一个四位整数,输出其百位千位和个位数字之和。 number = input("请输入一个四位整数: ") # 字符串形式获取数字 mylist = list(map(int, number)) # 将字符串中每个元素以int类型的形式生成列表 print("其百位千位和个位数字之和: " + str(mylist[0] + mylist[2] + mylist[3]))
【实现结果】
题目2:生成包括1000个0到100之间的随机整数,统计每个元素的出现次数,输出重复次数最多的元素。(提示:可能存在重复数据。)
【题目描述】 生成包括1000个0到100之间的随机整数,统计每个元素的出现次数,输出重复次数最多的元素。(提示:可能存在重复数据。)
【思路分析】
使用random生成随机数存储到一个列表里,这个列表会有重复元素,为了便于我们统计次数,我们可以存储一个set副本,只包含该列表的不重复元素,并以此为关键字求原列表中该元素出现的次数,并将出现最多次的元素与最大次数记录下来。
【注意】这里需要注意的是,出现最多次的可能不止一个数字,因此,结果用列表存储。详细见代码注释。
【实现代码】
# 2、生成包括1000个0到100之间的随机整数,统计每个元素的出现次数,输出重复次数最多的元素。(提示:可能存在重复数据。)
import random
# 首先生成随机整数列表 mylist = [random.randint(0, 100) for i in range(1000)] non_repetitive_list = set(mylist) # 存储mylist的所有不重复元素 max_count = 0 # 记录最大次数 max_number = [] # 记录最大次数对应的数字(用列表来存储,来解决有重复元素的情况) for i in non_repetitive_list: counts = mylist.count(i) # 最大则替换 if counts > max_count: max_number = [] # 滞空 max_number.append(i) # 添加 max_count = counts # 相同则添加 if counts == max_count: max_number.append(i) max_count = counts # 输出 numbers = set(max_number) print(str(numbers) + "出现次数为: " + str(max_count) + "次")
【实现结果】
出现次数最多的是97、44,都出现了20次。
出现次数最多的是14,出现了18次。
题目3:请输入一个字符串,再输入要删除的某个字符 ,大小写不用区分,将字符串中出现的指定字符全部删除。
【题目描述】 请输入一个字符串,再输入要删除的某个字符 ,大小写不用区分,将字符串中出现的指定字符全部删除。
【思路分析】
此题只需要使用python的内置函数将string中的响应元素替换成空字符即可达到删除的目的。
【注意】由于不区分大小写,则需要进行两次替换操作,一次替换要替换字符的大写形式;一次替换要删除字符的小写形式。
【实现代码】
# 3、请输入一个字符串,再输入要删除的某个字符 ,大小写不用区分,将字符串中出现的指定字符全部删除。
string = input("请输入一个字符串:") wantremove = input("请输入要删除的值:") print("删除前: " + string) up = wantremove.upper() # 存储要删除值的大写 low = wantremove.lower() # 存储要删除值的小写 # 字符串处理,先把大写的符合条件替换删除,再把小写的替换删除 string = string.replace(up, "") string = string.replace(low, "") # 输出结果 print("删除后: " + string)
【实现结果】