编写python程序:随机生成100个整数,数字的范围[20,50]。 输出所有的不同的数字及其每个数字重复的次数,按照数字重复的 次数升序输出。提示:使用字典实现分类统计
时间: 2023-06-18 12:02:52 浏览: 53
可以使用 random 模块来生成随机数,然后使用字典来进行分类统计:
```python
import random
nums = [random.randint(20, 50) for i in range(100)]
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])
for num, count in sorted_counts:
print(num, count)
```
这里使用了列表推导式来生成随机数列表,然后使用一个空字典 `count_dict` 来存储每个数字出现的次数,遍历随机数列表,如果数字已经在字典中,则将其出现次数加1,否则将其添加到字典中并将出现次数初始化为1。最后按照数字出现次数升序排序,并输出每个数字及其出现次数。
相关问题
编写程序,随机生成1000个整数; 数字的范围[20, 100], 升序输出所有不同的数字及其每个数字重复的次数。要求1000个整数存放在列表中,统计的结果存放在字典)
好的,这个问题可以回答。以下是代码:
```python
import random
# 随机生成1000个整数
nums = [random.randint(20, 100) for _ in range(1000)]
# 统计数字出现的次数
count_dict = {}
for num in nums:
if num in count_dict:
count_dict[num] += 1
else:
count_dict[num] = 1
# 按升序输出不同数字及每个数字重复的次数
for num in sorted(count_dict.keys()):
print(num, "出现了", count_dict[num], "次")
```
这个程序先使用 randit 函数生成了 1000 个 20~100 之间的随机整数,然后遍历整个列表统计每个数字出现的次数,最后对字典按键进行升序排序并输出每个数字及其出现次数。
用python编写程序生成一个包含50个随机整数的列表,然后删除其中所有的奇数
可以使用random模块生成50个随机整数,然后使用列表推导式来删除所有奇数。具体实现如下:
```python
import random
# 生成50个随机整数
num_list = [random.randint(1, 100) for _ in range(50)]
# 删除所有奇数
num_list = [num for num in num_list if num % 2 == 0]
print(num_list)
```
这里使用了range函数生成50个整数,然后用random.randint函数在1到100之间生成随机整数。接着使用列表推导式,遍历num_list中的每个元素,如果是偶数就保留,如果是奇数就删除。最后输出删除后的列表。