【问题标题】:Code repeating although not in a repeating loop python代码重复虽然不在重复循环python中
【发布时间】:2026-01-06 14:30:01
【问题描述】:

只学了几个星期的 Python,所以请忽略任何难看的代码。

pass1 = "AJ00JJJ"
userfile = open("DATABASE.txt","r")

password = input("ENTER_MAIN:FRAME_PASSWORD: ")

if password == str(pass1):

username = input("INPUT_USERNAME: ")
for line in userfile:
    if username == line:
        print("WELCOME")
        userfile.close()
    elif username != line: 
        print("USER_UNKNOWN.. ADDING_TO_DATABASE")
        userfile_write = open("DATABASE.txt","a")
        nextLine="%s\n" % (username)
        userfile_write.write(nextLine)
        userfile_write.close()

所以我正在制作一个程序,您输入密码,然后输入用户名,如果用户名不在文件中,则将输入的用户名添加到新行并保存。

这可行,但它会继续添加用户名并打印“USER_UNKNOWN.. ADDING_TO_DATABASE”

有什么原因吗?

【问题讨论】:

  • 请注意line 将包括'\n' - 你试过if username == line.strip() 吗?

标签: file python-3.x


【解决方案1】:

你编写了循环遍历文件的每一行;除非您停止循环,否则它将继续这样做。

我认为您想等到 循环完成(并且找不到名称)后再将其添加到文件中。

【讨论】: