根据以上的结果,加一个功能,功能是:两组同样的姓名,一组的其中一个姓名需要与另一组的任意一个姓名都有对应
时间: 2024-04-14 13:26:18 浏览: 229
你可以使用 zip() 函数将两个姓名列表组合成一个元组列表,然后进行迭代。在迭代过程中,可以通过 random 模块中的 choice() 函数从另一组姓名中随机选择一个姓名与当前姓名进行对应。
以下是修改后的代码示例:
```python
import random
names1 = ["Alice", "Bob", "Charlie", "David", "Emma", "Frank", "Grace", "Henry", "Isabella", "Jack"]
names2 = ["Kate", "Leo", "Mary", "Nathan", "Olivia", "Paul", "Quincy", "Rachel", "Samuel", "Tom"]
random.shuffle(names2) # 随机打乱第二组姓名的顺序
for name1, name2 in zip(names1, names2):
print(name1, "--", name2)
# 当其中一组姓名比另一组多时,需要处理剩余姓名
if len(names1) > len(names2):
for name1 in names1[len(names2):]:
random_name2 = random.choice(names2)
print(name1, "--", random_name2)
elif len(names2) > len(names1):
for name2 in names2[len(names1):]:
random_name1 = random.choice(names1)
print(random_name1, "--", name2)
```
这段代码首先使用 random 模块中的 shuffle() 函数随机打乱了第二组姓名的顺序。然后,使用 zip() 函数将两个姓名列表组合成一个元组列表,并进行迭代。在迭代过程中,通过 random.choice() 函数从另一组姓名中随机选择一个姓名与当前姓名进行对应,并将结果打印出来。
最后,如果其中一组姓名比另一组多,需要处理剩余的姓名。如果第一组姓名比第二组多,就随机选择第二组中的姓名与剩余的第一组姓名进行对应;反之亦然。将剩余姓名与随机选择的姓名进行对应后,将结果打印出来。
阅读全文