为了账号安全,请及时绑定邮箱和手机立即绑定

while 循环似乎无法正常运行

while 循环似乎无法正常运行

森栏 2023-06-20 14:37:50
我正在开发一个使用while循环的 python 项目。独特的东西。但是,我无法让循环为我完成它的工作。我的代码:with open("accounts.txt", "r") as account_file:    while account == "":        account = str(input("Enter a username: ") + " ")        if account not in account_file.read():            print("That username was not found.")            account = ""当我运行它时,它会提示我输入用户名,如果可以在其中找到我输入的字符串(加上添加的空格),accounts.txt我将被告知可以找到我的用户名。如果我输入了一个无效的用户名,程序应该会告诉我它找不到我输入的用户名然后让我再试一次——除非我在下次尝试时输入正确的用户名,程序仍然会告诉我我的用户名找不到。我尝试进行此更改:if account in account_file.read():    account = accountelse:    print("That username was not found.")    account = ""而且它仍然无法正常工作。谁能告诉我为什么?我只是在寻找一个简单的解决方案。
查看完整描述

1 回答

?
www说

TA贡献1775条经验 获得超8个赞

我假设你想找到文件中用户名所在的文件行。如果您对查找用户名所在的特定行不感兴趣,而只想继续循环直到输入有效的用户名,那么您应该知道您只能在文件打开后调用一次read()。


考虑这样做:


while account == "":

    account = str(input("Enter a username: ") + " ")

    with open("accounts.txt", "r") as account_file:

        if account not in account_file.read():

            print("That username was not found.")

            account = ""

如果您确实想要用户名所在的行,您可能需要这样的东西:


with open("accounts.txt", "r") as account_file:

    account = str(input("Enter a username: ") + " ")

    for line in account_file:

        if account in line:

            print("Found username")

            break


查看完整回答
反对 回复 2023-06-20
  • 1 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信