2.10 建立两个列表 L1 和 L2,其中每个列表都存放 10个介于1~6之间的随机数,输出两个列表,然后 比较两个列表,如果某一个数在L1和L2中出现的次数相同,则输出该数值及其出现次数。
时间: 2024-10-26 17:03:03 浏览: 14
C#实现在两个数字之间生成随机数的方法
5星 · 资源好评率100%
要建立两个包含10个介于1到6之间随机数的列表并进行比较,你可以使用Python的random模块来生成随机数,以及collections模dule中的Counter类来统计元素出现的次数。以下是一个示例代码:
```python
import random
from collections import Counter
# 创建两个列表,每个列表包含10个随机数
L1 = [random.randint(1, 6) for _ in range(10)]
L2 = [random.randint(1, 6) for _ in range(10)]
# 输出两个列表
print("List L1:", L1)
print("List L2:", L2)
# 使用Counter计算每个数字在两个列表中出现的次数
counter1 = Counter(L1)
counter2 = Counter(L2)
# 找到同时出现在两个列表中并且出现次数相同的数字
common_elements = set(counter1.keys()) & set(counter2.keys())
same_frequency_numbers = {num: min(counter1[num], counter2[num]) for num in common_elements}
# 输出共同且频率相同的数字及其出现次数
if same_frequency_numbers:
print("Numbers with the same frequency:")
for number, freq in same_frequency_numbers.items():
print(f"Number {number} appears {freq} times")
else:
print("No numbers have the same frequency.")
```
这段代码首先创建了两个随机列表L1和L2,然后分别计算它们的计数器。接着找出两个计数器中共有的数字(即同时在两个列表中的),再筛选出频率相同的数字。如果有这样的数字,就打印出来;如果没有,说明没有数字出现次数相同。
阅读全文