随机生成100个1-20的整数,找出数据中的众数。所谓众数,就是出现次数最多的数字(可能有多个),编写函数Freg实现检索数据并返回数据及出现次数的列表(列表的元素为元组,第一项是数字,第二项是数字出
时间: 2024-10-26 22:17:37 浏览: 27
众数问题详解.zip说明
随机生成100个1-20的整数并寻找众数的过程可以分为两步:首先生成数组,然后计算每个数字出现的频率并找到众数。下面是一个Python函数`find_mode`的示例实现,它使用collections模块的Counter类来统计频数,再遍历找出最常见的数字:
```python
import random
from collections import Counter
def generate_random_numbers(n):
return [random.randint(1, 20) for _ in range(n)]
def find_mode(numbers):
frequency = Counter(numbers)
max_count = max(frequency.values())
modes = [number for number, count in frequency.items() if count == max_count]
return list(zip(modes, [max_count] * len(modes)))
# 示例:
random_numbers = generate_random_numbers(100)
mode_data = find_mode(random_numbers)
print("数据: ", random_numbers[:5], "...")
print("众数及其出现次数: ", mode_data)
```
在这个例子中,`generate_random_numbers`函数生成100个1到20之间的随机整数,而`find_mode`函数接收这个数组并返回一个元组列表,列表中的每个元素都是一个包含众数和其出现次数的元组。
阅读全文