python - 用户不再选择同一个用户的逻辑?
问题描述
我知道这可能不是寻求帮助的地方,但是我没有其他要求。所以在这里我对答案寄予厚望,因为我真的陷入了合乎逻辑的部分:
所以在这里我有我自己的代码,我正在尝试创建一个礼物抽奖应用程序,但是我未能实现如何制作的部分内容,以便送礼者中的同一用户不会再次被不同的人绘制。在这里,我实现了输入他的名字的用户不会被自己画出来,我已经花了相当长的时间进行实验,但我触底了,没有想法,但我觉得也许另一个列表会帮助我但是目前无法解决。
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}")
解决方案
使用文本文件或数据库并写入该文件/数据库关于谁被绘制。用它来给你的程序状态。例如,如果用户绘制 -> 写入文本文件 -> 在下一次绘制时排除文本文件中的那些
推荐阅读
- c# - morpho 指纹传感器与 web c# 应用程序的集成
- typescript - 使用 aws-cdk typescript 进行单元测试
- datetime - 使用kibana开发工具/任何其他方法在elasticsearch中的日期差异?
- excel - 使用 VBA 在 UserInterfaceOnly 保护工作表上设置验证时,如何修复“运行时错误 '1004'”?
- r - 如何使用 R 复制具有条件的行
- javascript - 组件内的 Vue 组件渲染表格不正确
- reactjs - 为什么我在我的 React 项目中看不到这两个文件,“webpack.config.dev”和“webpack.config.prod”?
- python - Python - Unicode 解码/编码
- spring - 如何在 UsernamePasswordAuthenticationFilter 的上下文中交换已弃用的 getExtraInformation()?
- java - IFogSim:GUI 和代码之间的链接