代码:生成50个[1-30]的随机整数,统计每个小数出现的次数,并按次数从大到小排列.
时间: 2024-12-28 18:31:55 浏览: 18
要生成50个1到30之间的随机整数并统计它们出现的次数,你可以使用Python的random模块和collections模odule中的Counter类。以下是一段示例代码:
```python
import random
from collections import Counter
# 生成50个随机整数
numbers = [random.randint(1, 30) for _ in range(50)]
# 统计每个数字出现的次数
counter = Counter(numbers)
# 按照次数降序排列
sorted_counter = sorted(counter.items(), key=lambda x: x[1], reverse=True)
# 输出结果(元组列表形式,第一个元素是数字,第二个元素是次数)
for number, count in sorted_counter:
print(f"Number {number} appears {count} times")
```
这段代码首先创建了一个包含50个随机数的列表,然后使用`Counter`计算每个数出现的次数。接着,通过`sorted`函数根据值(即次数)对计数值进行降序排序。最后,遍历排序后的计数器,输出每种数字及其出现的次数。
如果你想要的是按照次数排序后只显示前几个最常见的数字,你可以添加一个切片或循环限制:
```python
# 只显示前10个最常见的数字和次数
most_common = sorted_counter[:10]
for number, count in most_common:
print(f"Number {number} appears {count} times")
```
阅读全文