圣诞节到了,公司举行交换礼物活动,参加的员工每人准备一个礼物。
交换完成后,自己的礼物会随机给到另一个人,自己也能随机获得一个其他人准备的礼物。
不要求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('礼物抽取完毕')
代码运行结果如下图