圣诞节到了

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

代码运行结果如下图
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值