|
|
import random
def choujiang(participants, prizes):
"""
进行抽奖。
Args:
participants: 参与者列表。
prizes: 奖品列表。
Returns:
一个字典,键是奖品,值是对应的获奖者。
如果参与者或奖品列表为空,则返回 None。
如果参与者人数少于奖品数量,也返回 None 并打印提示信息。
"""
if not participants or not prizes:
print("参与者或奖品列表不能为空!")
return None
if len(participants) < len(prizes):
print("参与者人数不足以分配所有奖品!")
return None
winners = {}
participants_copy = participants[:]
for prize in prizes:
winner = random.choice(participants_copy)
winners[prize] = winner
participants_copy.remove(winner)
return winners
def main():
"""主函数,获取用户输入并进行抽奖。"""
participants_input = input("请输入参与者名单,用逗号分隔:")
participants = [p.strip() for p in participants_input.split(",") if p.strip()] # 去除空字符串
prizes_input = input("请输入奖品列表,用逗号分隔:")
prizes = [p.strip() for p in prizes_input.split(",") if p.strip()] # 去除空字符串
if not participants or not prizes:
print("参与者或奖品列表不能为空!")
return
if len(participants) < len(prizes):
print("参与者人数不足以分配所有奖品!")
return
winners = choujiang(participants, prizes)
if winners:
print("\n抽奖结果:")
for prize, winner in winners.items():
print(f"{prize}: {winner}")
if __name__ == "__main__":
main()
|
|