Python不会正确比较字符串?

时间:2015-10-06 11:21:15

标签: string variables python-3.x

我正在尝试使用文本文件创建一个基本密码系统,程序从中读取并将其分配给变量。此变量是将与用户输入进行比较的变量。出于某种原因,即使我知道的字符串完全相同(我甚至将文本文件中的字符串复制并粘贴到输入中),也会导致程序告诉我密码不正确。这是代码:

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!")

1 个答案:

答案 0 :(得分:0)

问题似乎与您创建的文本文档有关。如果你手工编写它并且它有多行,它会期望你在行的末尾放回一个。几个月前,我在处理类似的项目时遇到了这个问题。 解决这个问题的方法是用python本身编写文本文件。您可以使用以下代码执行此操作:

writefile = file("password.txt", 'w')
writefile.writelines(["First Line of File", "\n", "Second Line of File"])

对于任意数量的行,此方法可以无限重复。

此外,您不需要缩进define函数,因为它会引发缩进错误。