我正在尝试使用文本文件创建一个基本密码系统,程序从中读取并将其分配给变量。此变量是将与用户输入进行比较的变量。出于某种原因,即使我知道的字符串完全相同(我甚至将文本文件中的字符串复制并粘贴到输入中),也会导致程序告诉我密码不正确。这是代码:
import time
file = open("passwordfile.txt", "r")
localPass = file.readline()
userAttempt = 0
print (localPass)
localPassTest = localPass
def enterScreen():
print (" ")
print ("You are in the program!")
for x in range (0, 3):
userPass = input ("Enter password: ")
if userPass == localPassTest:
print (" ")
print ("Correct password!")
break
enterScreen()
else:
print ("Incorrect password!")
答案 0 :(得分:0)
问题似乎与您创建的文本文档有关。如果你手工编写它并且它有多行,它会期望你在行的末尾放回一个。几个月前,我在处理类似的项目时遇到了这个问题。 解决这个问题的方法是用python本身编写文本文件。您可以使用以下代码执行此操作:
writefile = file("password.txt", 'w')
writefile.writelines(["First Line of File", "\n", "Second Line of File"])
对于任意数量的行,此方法可以无限重复。
此外,您不需要缩进define函数,因为它会引发缩进错误。