用户不再选择同一用户的逻辑?

Logic for users not to pick same user again?

我知道这可能不是寻求帮助的地方,但是我没有其他任何事情可以寻求帮助。所以在这里我对答案抱有很大的希望,因为我真的停留在逻辑部分:

所以这里我有自己的代码,我正在尝试创建一个礼物抽奖应用程序,但是我没有实现关于如何制作的部分,以便送礼者中的同一个用户不会被不同的人再次抽奖人们。在这里,我实现了输入他的名字的用户不会自己被吸引,我已经花了很多时间进行试验,但我跌至谷底,没有任何想法,但我觉得也许另一个列表可以帮助我但是目前无法解决。

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}")

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