数字重复统计:随机生成1000个20-100的整数,升序输出所有 不同的数字及每个数字重复的次数。
时间: 2024-05-12 11:17:16 浏览: 99
好的,我可以帮您解决这个问题。下面是代码实现:
```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;否则就输出当前数字的重复次数,并将当前数字和重复次数更新为当前数字。最后别忘了输出最后一个数字的重复次数。
相关问题
数字重复统计:随机生成1000个20~100的整数,升序输出所有不同的数字及每个键重复的次数
以下是Python代码实现:
```python
import random
# 随机生成1000个20~100的整数
nums = [random.randint(20, 100) for _ in range(1000)]
# 统计每个数字出现的次数
counts = {}
for num in nums:
if num not in counts:
counts[num] = 1
else:
counts[num] += 1
# 升序输出所有不同的数字及每个键重复的次数
for key in sorted(counts.keys()):
print(f'{key}: {counts[key]}')
```
输出结果类似于:
```
20: 8
21: 5
22: 7
23: 8
24: 11
25: 7
26: 10
27: 11
28: 10
29: 10
30: 7
31: 10
32: 10
33: 11
34: 9
35: 6
...
```
用Python写随机生成1000个20-100的整数,升序输出所有不同数的每个键的重复次数
代码如下:
```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` 的键,并输出每个键及其对应的值,即每个数字出现的次数。由于字典是无序的,我们需要先对键进行排序,以确保输出的结果是升序的。
阅读全文