虽然循环CSV文件登录循环3次,但不确定原因

2024-10-04 09:25:45 发布

您现在位置:Python中文网/ 问答频道 /正文

import csv

def login():
    global student
    student = []
    file = open("student.csv","r")       
    data = csv.reader(file)    

    UsernameVerified = False
    PasswordVerified = False

    while UsernameVerified == False:
        username = input("Username: ")
        for row in data:
            user = []
            student.append(row)
            print(UsernameVerified)

            for multi in row[5:6]:
                if username in multi:
                    print("found")
                    UsernameVerified = True
                    print(UsernameVerified)

这是我正在使用的当前代码。但是,当我运行这段代码并输入正确的用户名时,它会找到3次不该这样做的用户。在

当我输入错误的用户然后输入正确的用户时,它根本找不到用户。在

我这样做是为了一个学校的项目,已经有两位老师研究过了,到目前为止没有任何进展。在

Output when I input the correct User first

Output when I input the wrong User first, then the Correct one

新代码 ------在

导入csv

def login(): 全球学生 学生=[]

^{pr2}$

Tags: csvthe代码用户infalseinputdata
1条回答
网友
1楼 · 发布于 2024-10-04 09:25:45

对于第一个问题:它返回3次,因为while循环只停止并且For循环结束。如果您想快速修复,请在登录用户时在for循环中使用“break”

对于第二个问题,因为“data”变量指向文件末尾。基本上,你打开文件,读到最后输入错误的用户,它就留在那里。尝试只在“input”之后使用“with”语句打开文件

相关问题 更多 >