首页 > 解决方案 > 用户不再选择同一个用户的逻辑?

问题描述

我知道这可能不是寻求帮助的地方,但是我没有其他要求。所以在这里我对答案寄予厚望,因为我真的陷入了合乎逻辑的部分:

所以在这里我有我自己的代码,我正在尝试创建一个礼物抽奖应用程序,但是我未能实现如何制作的部分内容,以便送礼者中的同一用户不会再次被不同的人绘制。在这里,我实现了输入他的名字的用户不会被自己画出来,我已经花了相当长的时间进行实验,但我触底了,没有想法,但我觉得也许另一个列表会帮助我但是目前无法解决。

import random

gift_givers = ["Danielius", "Vilte", "Loreta", "Irena", "Agne", "Linas", "Aiste"]

counter = 0
length = len(gift_givers)

while length >= counter:
    user_name = input("Hello, please tell me your name: ")
    if user_name in gift_givers:
        gift_givers.remove(user_name)
        random_receiver = random.choice(gift_givers)
        gift_givers.append(user_name)
    
        counter = counter + 1
        print(f"{user_name} will be secret santa of -> " + random_receiver)
        print(f"Counter is {counter}")

标签: pythonlistfor-looplogic

解决方案


使用文本文件或数据库并写入该文件/数据库关于谁被绘制。用它来给你的程序状态。例如,如果用户绘制 -> 写入文本文件 -> 在下一次绘制时排除文本文件中的那些


推荐阅读