5. 随机产生30个0-19之间的随机整数(利用random函数库生成)并存入列表中,计算列表中数值的平均值并输出众数的个数。
时间: 2023-05-28 13:01:17 浏览: 46
代码如下:
```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
```
相关问题
5.随机产生30个0-19之间的随机整数(利用random函数库生成)并存入列表中,计算列表中数值的平均值并输出众数的个数。
代码如下:
```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个数。通过列表推导式可以一行生成随机数列表。统计众数个数的代码利用了字典的特性,代码有些长,但比较易懂。
随机产生30个0-19之间的随机整数(利用random函数库生成)并存入列表中,计算列表中数值的平均值并输出众数的个数
代码如下:
```python
import random
import statistics
# 随机产生30个0-19之间的随机整数并存入列表
lst = []
for i in range(30):
lst.append(random.randint(0, 19))
# 计算平均值
average = sum(lst) / len(lst)
# 计算众数的个数
mode_count = len(statistics.mode(lst))
# 输出结果
print("随机生成的列表:", lst)
print("平均值:", average)
print("众数的个数:", mode_count)
```
输出结果示例:
```
随机生成的列表: [13, 1, 1, 3, 19, 16, 10, 8, 0, 2, 1, 7, 9, 9, 1, 6, 14, 18, 13, 11, 19, 16, 12, 9, 18, 1, 19, 15, 8, 10]
平均值: 9.266666666666667
众数的个数: 1
```