Python 我编写的代码在“if”语句中工作得很好,但在“else”语句中不工作
当我运行我的程序时,如果我对输入给出了正确的答案,它就会正常工作并登录。但当我给出错误的答案时,它会再次开始,当它在循环中再次开始时,这次即使我给出了正确的答案,它也会不断告诉我错误的昵称或密码。我如何解决这个问题Python 我编写的代码在“if”语句中工作得很好,但在“else”语句中不工作,python,python-3.x,Python,Python 3.x,当我运行我的程序时,如果我对输入给出了正确的答案,它就会正常工作并登录。但当我给出错误的答案时,它会再次开始,当它在循环中再次开始时,这次即使我给出了正确的答案,它也会不断告诉我错误的昵称或密码。我如何解决这个问题 kadi = open('kullanici.txt','r') sif = open('sifre.txt','r') while True: ad = input('Your nickname: ') sifreniz = input('Your password
kadi = open('kullanici.txt','r')
sif = open('sifre.txt','r')
while True:
ad = input('Your nickname: ')
sifreniz = input('Your password: ')
if not(ad in kadi.read()) or not(sifreniz in sif.read()):
print('Wrong nickname or password.')
continue
else:
print('You succesfully logged in.')
break
您可以在变量中立即读取文件,然后签入变量:
kadi = open('kullanici.txt','r').read()
sif = open('sifre.txt','r').read()
while True:
ad = input('Your nickname: ')
sifreniz = input('Your password: ')
if not(ad in kadi) or not(sifreniz in sif):
print('Wrong nickname or password.')
continue
else:
print('You succesfully logged in.')
break
第二次读取文件时,您已经到达文件末尾,结果是一个空字符串。还要注意的是,您没有检查密码是否与昵称匹配,也不应该以纯文本形式存储密码。一旦您读取了文件,文件指针将指向其末尾,任何读取操作都不会返回任何结果。您必须重新打开文件或按.seek0倒带。