(2)编写程序,生成包含1000个0~100的随机整数,并统计每个元素的出现次数。
时间: 2023-05-30 22:04:27 浏览: 95
```python
import random
# 生成1000个0~100的随机整数
nums = [random.randint(0, 100) for _ in range(1000)]
# 统计每个元素的出现次数
counts = {}
for num in nums:
if num in counts:
counts[num] += 1
else:
counts[num] = 1
# 输出结果
for num, count in counts.items():
print(f"{num}: {count}")
```
输出结果类似于:
```
5: 11
41: 8
84: 7
...
```
相关问题
编写程序,生成包含1000个0~100的随机整数,并统计每个元素的出现次数
可以用以下代码实现:
```
import random
#生成1000个0~100的随机整数
nums = [random.randint(0, 100) for _ in range(1000)]
#统计每个元素出现的次数
counts = {num: nums.count(num) for num in set(nums)}
#输出每个元素及其出现次数
for num in sorted(counts.keys()):
print(num, ":", counts[num])
```
解释一下代码:
第一行中,`import random` 导入了 Python 标准库中的 random 模块,用于生成随机数。随后一行 `nums = [random.randint(0, 100) for _ in range(1000)]` 使用列表推导式生成1000个 0~100 的随机整数;`random.randint(0, 100)` 表示生成 0~100 范围内的整数。
第二行 `counts = {num: nums.count(num) for num in set(nums)}` 利用 set() 函数去除了列表中的重复元素,然后使用字典推导式 `{num: nums.count(num) for num in set(nums)}` 统计了每个元素出现的次数。例如,若 nums = [1,2,2,3,3,3],则 counts = {1: 1, 2: 2, 3: 3}。
最后一行通过循环输出每个元素及其出现次数,并按元素从小到大的顺序排序。注意,`for num in sorted(counts.keys())` 中的 `sorted(counts.keys())` 表达式可以保证按字典序排序,即元素从小到大的顺序。
(2) 编写程序,生成包含1000个0~100的随机整数,并统计每个元素的出现次数。
以下是使用Python编写的程序,可以生成1000个0~100的随机整数,并统计每个元素的出现次数:
```python
import random
# 生成随机整数列表
numbers = []
for i in range(1000):
numbers.append(random.randint(0, 100))
# 统计每个元素的出现次数
count = [0] * 101
for num in numbers:
count[num] += 1
# 输出结果
for i in range(101):
if count[i] > 0:
print("数字 %d 出现了 %d 次" % (i, count[i]))
```
运行程序后,会输出每个数字出现的次数,例如:
```
数字 1 出现了 12 次
数字 2 出现了 11 次
数字 3 出现了 8 次
...
数字 98 出现了 9 次
数字 99 出现了 14 次
数字 100 出现了 11 次
```
注意,以上程序生成的随机数是包含0和100的。如果要生成不包含0和100的随机整数,可以将生成随机数的范围改为1~99。
阅读全文