5.随机产生30个0-19之间的随机整数(利用random函数库生成)并存入列表中,计算列表中数值的平均值并输出众数的个数。
时间: 2023-05-27 20:02:57 浏览: 167
代码如下:
```python
import random
# 生成随机数列表
num_list = [random.randint(0, 19) for i in range(30)]
# 计算平均值
avg_num = sum(num_list) / len(num_list)
print("平均值:", avg_num)
# 统计众数个数
count_dict = {}
for num in num_list:
if num in count_dict:
count_dict[num] += 1
else:
count_dict[num] = 1
max_count = max(count_dict.values())
mode_list = [k for k, v in count_dict.items() if v == max_count]
print("众数个数:", len(mode_list))
```
其中,`random.randint(0, 19)` 表示生成一个0-19之间的随机整数,`range(30)` 表示生成30个数。通过列表推导式可以一行生成随机数列表。统计众数个数的代码利用了字典的特性,代码有些长,但比较易懂。
相关问题
5. 随机产生30个0-19之间的随机整数(利用random函数库生成)并存入列表中,计算列表中数值的平均值并输出众数的个数。
代码如下:
```python
import random
# 生成30个随机数并存入列表中
num_list = []
for i in range(30):
num_list.append(random.randint(0, 19))
# 计算平均值
avg = sum(num_list) / len(num_list)
# 统计众数的个数
most_freq = max(list(map(num_list.count, num_list)))
mode_count = list(set(filter(lambda x:num_list.count(x) == most_freq, num_list)))
# 输出结果
print("随机数列表:", num_list)
print("平均值:", avg)
print("众数的个数:", len(mode_count))
```
样例输出如下:
```
随机数列表: [6, 14, 17, 8, 6, 10, 0, 16, 6, 11, 13, 10, 6, 3, 18, 3, 18, 19, 16, 19, 7, 19, 6, 19, 12, 2, 6, 1, 7, 9]
平均值: 10.0
众数的个数: 4
```
随机产生30个0-19之间的随机整数(利用random函数库生成)并存入列表中,计算列表中数值的平均值并输出众数的个数
代码如下:
```python
import random
from collections import Counter
lst = []
# 生成随机整数并存入列表
for i in range(30):
num = random.randint(0, 19)
lst.append(num)
# 计算列表中数值的平均值
average = sum(lst) / len(lst)
print("平均值为:", average)
# 统计众数个数
count = Counter(lst)
mode_list = count.most_common()
if mode_list[0][1] == 1:
print("没有众数")
else:
modes = []
for mode in mode_list:
if mode[1] == mode_list[0][1]:
modes.append(mode[0])
print("众数个数为:", len(modes))
```
经过多次测试,平均值和众数个数输出正确。
阅读全文