python - 无法脱离登录系统
问题描述
登录系统我不会跳出循环。我已经向我的 CS 老师展示了这个,他告诉我改变休息的缩进。它没有用。我一直在环顾四周,但似乎找不到循环不会中断的原因。这是代码:
while True:
print("User 1")
login=input("Do you have an account? (yes/no) ")
loggedin=False
if login.lower()=="yes":
login1=open("login.csv")
reader = csv.reader(login1)
username1=input("What is your username: ")
password1=input("What is your password: ")
for row in reader:
if row[0]==username1:
if row[1]==password1:
print("Welcome " + username1)
loggedin=True
break
if loggedin==False:
print("Invalid username or password. Please try again.")
continue
该代码询问用户是否有帐户。当我输入 yes 并提供有效的用户名和密码时,它会继续循环。对于用户登录时的上下文,它表示欢迎并跳出循环。然而这并没有发生,而是说欢迎并重新启动循环。用于此的 csv 包含登录详细信息。
任何关于为什么循环不会中断的帮助将不胜感激。
迪伦
解决方案
像这样的东西?我的意思是你已经有一个“loggedin”变量,为什么不在while循环中使用它......
loggedin = False
while not loggedin:
print("User 1")
login=input("Do you have an account? (yes/no) ")
loggedin=False
if login.lower()=="yes":
login1=open("login.csv")
reader = csv.reader(login1)
username1=input("What is your username: ")
password1=input("What is your password: ")
for row in reader:
if row[0]==username1 and row[1]==password1:
print("Welcome " + username1)
loggedin=True
break
if loggedin==False:
print("Invalid username or password. Please try again.")
continue
推荐阅读
- python - 为什么 index() 没有按预期从输入文本中打印当前读取字符的索引?
- reactjs - 这个 JSX 标签的 'children' 属性期望类型 'never' 需要多个孩子,但只提供了一个孩子。ts(2745)
- gtag.js - 优化服务端实验 gtag.js
- javascript - 定时器功能多长时间
- comsol - 周期性结构和非周期性元素
- jquery-ui - 如何使用 Apple 的 VoiceOver 屏幕阅读器导航 jQuery UI 菜单?
- java - 需要帮助在 Java 游戏中创建敌人
- c# - gRPC Asp Net Core 3.1 API 在 Kubernetes 上运行时不起作用
- python-3.x - 为熊猫列中的每个唯一值在另一列中查找最大值
- java - Java Spring Boot Query where cond on Jsonb column