我的代碼:
userlog = input("What is your username?")
passlog = input("What is your password?")
for fileread in open("accounts.txt", "r").readlines():
file = fileread.split()
if userlog == file[0] and passlog == file[1]:
print("Succesfully logged in")
elif userlog != file[0] and passlog != file[1]:
print("Username or password is incorrect")
它不是只列印“成功登錄”或“用戶名或密碼不正確”,而是為文本檔案中的所有行列印“用戶名或密碼不正確”,當登錄資訊輸入正確時,它會執行相同的操作,但其中一個被替換為“登錄成功”
我不知道該怎么做我顯然是 python 的新手。
uj5u.com熱心網友回復:
您可以嘗試以下解決方案:
userlog = input("What is your username? ")
passlog = input("What is your password? ")
for fileread in open("accounts.txt", "r").readlines():
file = fileread.split()
if userlog == file[0] and passlog == file[1]:
print("Successfully logged in")
break
else:
print("Username or password is incorrect")
如果用戶成功登錄,您應該打破for回圈。
如果整個回圈完成而沒有中斷else代碼將被執行。
看看這個鏈接:https ://book.pythontips.com/en/latest/for_-_else.html#else-clause
uj5u.com熱心網友回復:
當登錄成功時,您可以添加break一個回圈:
userlog = input("What is your username?")
passlog = input("What is your password?")
for fileread in open("accounts.txt", "r").readlines():
file = fileread.split()
if userlog == file[0] and passlog == file[1]:
print("Succesfully logged in")
break
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/535533.html
標籤:Python验证
