本博文源于同学问的一道题目,我将其解决好,撰写成博客。文章问题如下:

问题再现

  • 随机生成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]))

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐