数字重复统计:随机生成1000个20-100的整数,升序输出所有 不同的数字及每个数字重复的次数。
时间: 2024-05-12 20:17:16 浏览: 13
好的,我可以帮您解决这个问题。下面是代码实现:
```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的整数,升序输出所有不同的数字及每个键重复的次数。
可以使用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
...
```