本博文源于同学问的一道题目,我将其解决好,撰写成博客。文章问题如下:
问题再现
- 随机生成1000个整数,范围为[20,100]
- 升序输出所有不同的数字及其每个数字的重复次数
问题思路
随机生成用randint函数,重复次数用字典打印。
问题运行效果
问题代码
import random
jian = [i for i in range(20,101)]
zhi = [0 for i in range(100)]
dic = dict(zip(jian,zhi))
for i in range(1000):
num = random.randint(20,100)
dic[num]+= 1
for key in dic.keys():
print("数字%d出现了%d次"%(key,dic[key]))
番外:如果按照值进行降序排列
import random
jian = [i for i in range(20,101)]
zhi = [0 for i in range(100)]
dic = dict(zip(jian,zhi))
for i in range(1000):
num = random.randint(20,100)
dic[num]+= 1
lis = sorted(dic.items(),key=lambda item:item[1])
for i in lis:
print("数字%d出现了%d次"%(i[0],i[1]))