用Python写随机生成1000个20-100的整数,升序输出所有不同数的每个键的重复次数
时间: 2023-05-31 17:05:22 浏览: 366
代码如下:
```python
import random
random_list = [random.randint(20, 100) for _ in range(1000)]
count_dict = {}
for num in random_list:
if num in count_dict:
count_dict[num] += 1
else:
count_dict[num] = 1
for key in sorted(count_dict.keys()):
print(f"{key}: {count_dict[key]}")
```
解释:
首先,我们使用列表推导式生成一个包含1000个20-100之间随机整数的列表 `random_list`。然后,我们创建一个空字典 `count_dict`,用于记录每个数字出现的次数。
接着,我们遍历 `random_list` 中的每个数字,如果该数字已经在 `count_dict` 中出现过,则将其对应的值加1;否则,将该数字作为键添加到 `count_dict` 中,并将其对应的值设为1。
最后,我们遍历已排序的 `count_dict` 的键,并输出每个键及其对应的值,即每个数字出现的次数。由于字典是无序的,我们需要先对键进行排序,以确保输出的结果是升序的。
相关问题
python随机生成1000个20~100的整数,升序输出所有不同的数字及每个键重复的次数。
可以使用random模块生成随机整数,再使用collections模块中的Counter函数来实现计数和去重。具体代码如下:
```python
import random
from collections import Counter
# 随机生成1000个20~100的整数
nums = [random.randint(20, 100) for _ in range(1000)]
# 使用Counter函数计数和去重
counter = Counter(nums)
# 升序输出所有不同的数字及每个键重复的次数
for num in sorted(counter.keys()):
print(f"{num}: {counter[num]}")
```
运行结果类似如下:
```
20: 14
21: 8
22: 10
23: 12
24: 9
25: 15
26: 10
27: 12
28: 11
29: 10
30: 12
31: 10
32: 15
33: 10
...
```
数字重复统计:随机生成1000个20-100的整数,升序输出所有 不同的数字及每个数字重复的次数。
好的,我可以帮您解决这个问题。下面是代码实现:
```python
import random
nums = [random.randint(20, 100) for _ in range(1000)] # 随机生成1000个20-100的整数
nums.sort() # 排序
curr_num, curr_count = nums[0], 1
for num in nums[1:]:
if num == curr_num:
curr_count += 1
else:
print(f"{curr_num} 重复 {curr_count} 次")
curr_num, curr_count = num, 1
print(f"{curr_num} 重复 {curr_count} 次")
```
代码思路是先对生成的整数列表进行排序,然后遍历整个列表,用两个变量来记录当前数字以及当前数字出现的次数。如果遍历到的数字等于当前数字,则当前数字出现的次数加 1;否则就输出当前数字的重复次数,并将当前数字和重复次数更新为当前数字。最后别忘了输出最后一个数字的重复次数。