圣诞节到了,公司举行交换礼物活动,参加的员工每人准备一个礼物。
交换完成后,自己的礼物会随机给到另一个人,自己也能随机获得一个其他人准备的礼物。
不要求A享了B的礼物,B就一定要拿A的只要自已不拿自己的即可。
为公平起见,请你写一个随机程序来决定礼物如何分配。
import random
present_list = {"A": "preA", "B": 'preB', "C": "preC"} # 参与人员列表对应的礼物
person_ist = [k for k in present_list] # 参与人员列表
class ChosePresent:
def __init__(self, person):
"""
:param person: 参与抽奖的人与代号
"""
self.now_person_list = person_ist.copy()
if person in person_ist:
self.now_person_list.remove(person) # 删除抽奖人员自己礼物防止抽到自己的礼物
def chose(self):
chose_person = random.choices(self.now_person_list)[0]
person_ist.remove(chose_person) # 在礼物人员列表里删除已被抽取的礼物,防止抽取重复礼物
return present_list.get(chose_person)
while person_ist:
person = input("请输入抽奖人代号:(ABC)")
res = ChosePresent(person).chose()
print(person+ '抽取到礼物:'+res)
print('礼物抽取完毕')
代码运行结果如下图

这段代码演示了一个Python程序,用于在圣诞节期间进行公平的礼物交换。每个参与者提交一个礼物,然后通过随机选择的方式决定每个人的礼物归属,确保每个人不会得到自己的礼物。程序通过输入抽奖人的代号来依次抽取礼物,并输出结果。
5793

被折叠的 条评论
为什么被折叠?



