本程序的功能是随机产生50个1~20的整数,存入列表list1,然后找出这一组数据中的众数。所谓众数,就是在这组数据中出现次数最多的数。 注意:一组数据中的众数可能有多个,(即有多个数据的出现次数相同)。程序至少包含一个Freq函数过程,求出列表中每个不相同的数据出现的次数,并返回一个列表(列表每个元素为一个元组,元组第一项为数据本身,第二项为数据出现的次数(可用count()方法计数))
时间: 2023-05-11 22:01:45 浏览: 163
给定一个整数数组,其中元素的取值范围为0到10000,求其中出现次数最多的数
5星 · 资源好评率100%
以下是程序的代码:
import random
list1 = [random.randint(1, 20) for i in range(50)]
def Freq(list1):
freq_list = []
for i in set(list1):
freq_list.append((i, list1.count(i)))
return freq_list
freq_list = Freq(list1)
max_freq = max(freq_list, key=lambda x: x[1])[1]
mode_list = [i[0] for i in freq_list if i[1] == max_freq]
print("随机产生的50个整数为:", list1)
print("每个不相同的数据出现的次数为:", freq_list)
print("众数为:", mode_list)
阅读全文