请用随机函数产生500行1-100之间的随机整数存入文件random.txt中,编程寻找这些整数的众数并输出,众数即为一组数中出现最多的数。
时间: 2023-04-19 20:01:04 浏览: 71
好的,以下是回复:
可以使用以下代码来生成500行1-100之间的随机整数并存入文件random.txt中:
import random
with open('random.txt', 'w') as f:
for i in range(500):
num = random.randint(1, 100)
f.write(str(num) + '\n')
接下来,可以使用以下代码来寻找这些整数的众数并输出:
with open('random.txt', 'r') as f:
nums = f.readlines()
nums = [int(num.strip()) for num in nums]
count_dict = {}
for num in nums:
if num in count_dict:
count_dict[num] += 1
else:
count_dict[num] = 1
max_count = max(count_dict.values())
mode = [num for num, count in count_dict.items() if count == max_count]
print('众数为:', mode)
以上代码中,首先读取文件中的随机整数,并将其转换为整数类型存储在列表nums中。然后,使用一个字典count_dict来记录每个数出现的次数。最后,找到出现次数最多的数,即为众数。
相关问题
随机产生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
```
随机产生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))
```
经过多次测试,平均值和众数个数输出正确。