知识拓展
上一节
下一节
例: 文件综合例
请用随机函数产生500行1-100之间的随机整数存入文件random.txt中,编程寻找这些整数的众数并输出,众数即为一组数中出现最多的数。
利用列表将对应数字出现的次数记录下来,假设数字45出现了5次,则列表lst[45]的值即为5,结果也有可能不止一个。本例也可以使用字典解决。
#例py7-12.py 应用示例: 文件读写例子 prog7_3.py
import random
with open('random.txt', 'w+') as fp:
for i in range(500):
fp.write(str(random.randint(1, 100)))
fp.write('\n')
fp.seek(0)
nums = fp.readlines()
print(nums)
nums = [num.strip() for num in nums]
setNums = set(nums)
lst = [0] * 101
for num in setNums:
c =nums.count(num)
lst[int(num)] = c
for i in range(len(lst)):
if lst[i] == max(lst):
print(i)
print("上面是众数,出现次数c=",c)
运行结果(注:因应用随机数,每次运行结果一般是不一样的):
49
63
上面是众数,出现次数c= 4

