随机生成100个数,降序打印所有不同数字及其出现的次数
时间: 2023-09-03 14:27:55 浏览: 115
### 回答1:
以下是 Python 代码实现:
```python
import random
# 随机生成100个数
nums = [random.randint(1, 20) for _ in range(100)]
# 统计数字出现的次数
count = {}
for n in nums:
if n not in count:
count[n] = 1
else:
count[n] += 1
# 按照出现次数降序排序
count_desc = sorted(count.items(), key=lambda x: x[1], reverse=True)
# 打印结果
for n, c in count_desc:
print(f"{n}: {c}")
```
解释一下代码:
1. 首先使用 `random.randint(1, 20)` 随机生成100个整数,存储在列表 `nums` 中。
2. 然后遍历 `nums` 列表,统计每个数字出现的次数,存储在字典 `count` 中。如果数字已经在 `count` 中存在,则将其对应的计数器加1;否则,将数字作为键,计数器初始化为1。
3. 使用 `sorted` 函数对 `count` 中的键值对进行排序,排序关键字为每个键值对的第二个元素(即出现次数),降序排列。排完序后,将结果存储在 `count_desc` 中。
4. 最后遍历 `count_desc` 列表,打印每个数字及其出现次数。
### 回答2:
首先,我们需要生成100个随机数。可以使用Python的random模块来实现这个功能。代码如下:
```python
import random
numbers = []
for _ in range(100):
number = random.randint(1, 100)
numbers.append(number)
```
接下来,我们需要统计每个数字出现的次数。可以使用Python的collections模块中的Counter方法来实现。代码如下:
```python
from collections import Counter
number_count = Counter(numbers)
```
最后,我们可以按降序打印出所有不同的数字及其出现的次数。代码如下:
```python
number_count_desc = sorted(number_count.items(), key=lambda x: x[1], reverse=True)
for number, count in number_count_desc:
print(f"{number} 出现的次数为:{count}")
```
完整代码及运行结果如下:
```python
import random
from collections import Counter
numbers = []
for _ in range(100):
number = random.randint(1, 100)
numbers.append(number)
number_count = Counter(numbers)
number_count_desc = sorted(number_count.items(), key=lambda x: x[1], reverse=True)
for number, count in number_count_desc:
print(f"{number} 出现的次数为:{count}")
```
运行结果会输出100个随机数中每个数字及其出现的次数。
### 回答3:
首先,我们可以使用Python中的random模块来随机生成100个数。然后,我们可以将这些随机数存储在一个列表中,并对列表进行排序,以便更容易找出不同的数字及其出现的次数。
接下来,我们可以使用一个字典来记录每个数字及其出现的次数。遍历列表中的每个数字,如果数字已经在字典中,则将其出现次数加1;如果数字不在字典中,则将其添加到字典中,并将其出现次数设为1。
最后,我们将字典按照出现次数降序排序,并将结果打印出来。
以下是用Python编写的实现代码:
```python
import random
# 随机生成100个数
nums = [random.randint(1, 1000) for _ in range(100)]
# 排序
nums.sort(reverse=True)
# 使用字典记录数字及其出现次数
count_dict = {}
for num in nums:
if num in count_dict:
count_dict[num] += 1
else:
count_dict[num] = 1
# 按照出现次数降序排序
sorted_counts = sorted(count_dict.items(), key=lambda x: x[1], reverse=True)
# 打印结果
for num, count in sorted_counts:
print(f"数字 {num} 出现了 {count} 次")
```
运行以上代码,将会输出降序打印出所有不同数字及其出现的次数。
阅读全文