在一定范围内随机生成整数,并统计每个整数出现的次数 (Python)
知识储备
需要用到random,随机数标准函数库
random.randint(a, b):在[a, b]中随机生成数
例:随机生成50个介于[1, 20]间的整数, 然后统计每个整数出现的频率并输出。
方法一(使用集合)
import random
list_a = [random.randint(1, 20) for i in range(50)] #使用random里面的ranint(1, 20), 表示在1-20中生成随机数, for i in range(50)随机生成50个元素。
set_b = set(list_a) #创建集合set_b, 因为集合可以去除list_a中重复的数字, 只保留一个。
for i in set_b:
print(i,':', list_a.count(i)) #遍历集合set_b中每个元素,输出个数(list_a.count计算该元素在列表list_a中出现的次数)。
方法二(使用字典)
import random
list_a = []
for i in range(50):
list_a.append(random.randint(1, 20))
list_a = sorted(list_a) #将list_a排列, 方便观察统计出来的结果,sorted 默认升序排序。
dic_b = dict() #创建字典
for i in list_a:
if i not in dic_b: #如果元素i在字典dic_b中第一次出现, 就dic_b[i]等于1.
dic_b[i] = 1
else:
dic_b[i] += 1 #如果元素不是第一次出现, 就加1
print(dic_b)