使用python3随机生成1000个整数,数字范围[20,100],升序输出所有不同的数字及其每个数字的重复次数
时间: 2024-10-14 14:03:02 浏览: 33
在Python中,你可以使用collections.Counter
结合列表推导式来实现这个需求。首先,我们需要导入random
模块来生成随机数,然后使用Counter
来计算每个数字的出现次数。这里是一个示例:
import random
from collections import Counter
# 生成包含1000个随机整数的列表,范围在[20, 100]
numbers = [random.randint(20, 100) for _ in range(1000)]
# 使用Counter计算每个数字的出现次数,并按升序排列
counter = Counter(numbers)
sorted_counter = dict(sorted(counter.items()))
for number, count in sorted_counter.items():
print(f"{number}: {count}次")
# 如果需要只输出不同的数字,可以添加一个判断条件
# 不过在这里直接输出所有的数字及其计数更直观
运行这段代码后,它会打印出1000个在[20, 100]范围内的随机整数以及它们各自的重复次数。
相关问题
随机生成1000个整数,数字范围[20,100],升序输出所有不同的数字及其每个数字的重复次数
为了随机生成1000个介于20到100之间的整数,并统计每个不同数字的重复次数,你可以使用Python语言编写一个程序。下面是一个示例:
import random
# 定义数字范围
start = 20
end = 100
# 创建一个空集合存储唯一值
unique_numbers = set()
# 生成并记录1000个随机整数
for _ in range(1000):
num = random.randint(start, end)
unique_numbers.add(num)
# 将集合转换为字典,存储数字和其计数
count_dict = {num: unique_numbers.count(num) for num in unique_numbers}
# 按照数字升序排序
sorted_count_dict = dict(sorted(count_dict.items()))
# 输出每个数字及其重复次数
for number, count in sorted_count_dict.items():
print(f"{number}: {count}次")
这个程序首先创建了一个空集合来存储唯一的数字,然后通过循环生成1000个随机数并添加到集合中。由于集合自动去重,所以可以直接得到每个数字的唯一实例。接着将集合转成字典,方便查找每个数字的重复次数,并按照数字从小到大排序后输出。
python随机生成1000个20~100的整数,升序输出所有不同的数字及每个键重复的次数。
可以使用random模块生成随机整数,再使用collections模块中的Counter函数来实现计数和去重。具体代码如下:
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
...