当用户尝试登录时,即使详细信息正确,我的 CSV 登录系统也会退出。它崩溃而没有警告或错误。
我在 Windows 10 上使用 Python 3.7.3。
我尝试将 for 循环设为 for-else 循环,过去我也尝试将 CSV 文件作为文本文件读取。
attempt = 0
def main():
global attempt
with open('details.csv', 'r') as csv_file:
csv_reader = csv.DictReader(csv_file, delimiter=',')
row_count = len(csv_file.readlines()) - 1
print("Welcome to Dice Game! There are {0} currently registered users.".format(row_count))
print("=====================================================================\n")
username = input("Enter Username: ").lower()
password = input("Enter Password: ")
for row in csv_reader:
if username == row["username"].lower() and password == row["password"]:
print("\nLogged in as {0}.\n".format(username.capitalize()))
game()
else:
attempt += 1
print("\nInvalid login! (Attempt {0})\n".format(attempt))
if attempt == 3:
print("\nLocked Out!")
else:
main()
我希望它将用户带到下一部分(在这种情况下是一个名为游戏的函数),或者如果登录不正确,警告用户。