用python编写函数实现:随机产生30个0-19之间的随机整数(利用random函数库生成)并存入列表中,计算列表中数值的平均值并输出众数的个数。
时间: 2023-05-28 12:02:06 浏览: 162
```python
import random
from collections import Counter
def random_list():
nums = [random.randint(0, 19) for _ in range(30)]
return nums
def average(nums):
return sum(nums) / len(nums)
def mode_count(nums):
counter = Counter(nums)
mode = counter.most_common(1)[0][1]
mode_count = len([count for count in counter.values() if count == mode])
return mode_count
nums = random_list()
print(nums)
print("平均值:", average(nums))
print("众数的个数:", mode_count(nums))
```
相关问题
python随机产生30个0-19之间的随机整数(利用random函数库生成)并存入列表中,计算列表中数值的平均值并输出众数的个数。
可以采用以下代码实现:
```python
import random
# 生成30个0-19之间的随机整数,并存入列表中
num_list = [random.randint(0, 19) for i in range(30)]
# 计算平均值
avg = sum(num_list) / len(num_list)
print("平均值为:", avg)
# 计算众数个数
count_dict = {}
for num in num_list:
if num in count_dict:
count_dict[num] += 1
else:
count_dict[num] = 1
max_count = 0
for key, value in count_dict.items():
if value > max_count:
max_count = value
mode_count = 0
for key, value in count_dict.items():
if value == max_count:
mode_count += 1
print("众数个数为:", mode_count)
```
输出示例:
```
平均值为: 9.166666666666666
众数个数为: 2
```
python写代码 随机产生30个0-19之间的随机整数(利用random函数库生成)并存入列表中,计算列表中数值的平均值并输出众数的个数。
可能的实现代码如下:
```python
import random
from collections import Counter
# 生成随机整数列表
lst = [random.randint(0, 19) for i in range(30)]
# 计算平均值并输出
avg = sum(lst) / len(lst)
print("平均值为: %.2f" % avg)
# 计算众数的个数并输出
cnt = Counter(lst)
mode_count = cnt.most_common(1)[0][1]
mode_lst = [k for k, v in cnt.items() if v == mode_count]
print("众数个数为: %d,众数为:%s" % (len(mode_lst), str(mode_lst)))
```
其中,`random.randint(0, 19)`函数可以生成0-19(包含0和19)之间的随机整数,`range(30)`可以生成从0到29共30个数字,`lst = [random.randint(0, 19) for i in range(30)]`可以生成包含30个随机整数的列表。使用内置函数`sum`和`len`可以分别计算列表中的数值之和和数量,从而求取平均值。`collections.Counter`是Python内置的统计元素出现次数的类,它可以将列表中的数值计数并返回一个包含元素和出现次数的字典。使用它的`most_common`方法可以返回出现次数最多的元素和其出现次数,从而得到众数的数量,最后使用列表推导式将众数的值提取出来。
阅读全文