def login():
userinfo = open("userinfo.txt","r")
userinforec = userinfo.readline()
username1 = input("What is your username?\n")
while userinforec != "":
field = userinforec.split(",")
username = field[0]
password = field[1]
name = field[2]
age = field[3]
year = field[4]
mathseasy = field[5]
mathsmed = field[6]
mathshard = field[7]
hiseasy = field[8]
hismed = field[9]
hishard = field[10]
if username != username1:
print("Error, username not found")
break
else:
password1 = str(input("What is your password?\n"))
if password == password1:
print("password accepted")
writereport(username)
else:
print("Error, password not accepted")
login()
userinforec = userinfo.readline()
userinfo.close()
return username
正如标题中所述,当我运行这段代码时,它说最后一行(returnusername)是在赋值之前引用的。在
UnboundLocalError: local variable 'username' referenced before assignment
我看了其他线程,如果变量在函数之外,那么这一切都会发生,但是这里没有。我还需要使用global
还是有其他方法来解决这个问题?在
如果从未输入while循环,例如,因为
userinforec == ""
在给它赋值之前返回username
。在在while循环之前添加
username = ""
,如果在while循环期间从未赋值,那么is就有一个值。在相关问题 更多 >
编程相关推荐