Python 函数不可调用?
我试图学习python,但在编写一个简单的登录页面时遇到了一个问题Python 函数不可调用?,python,Python,我试图学习python,但在编写一个简单的登录页面时遇到了一个问题 def Login(): print("Login System") print("\n") print("1 - Login") print("2 - Create an Account") PassCheck = False UserCheck = False Login = Fa
def Login():
print("Login System")
print("\n")
print("1 - Login")
print("2 - Create an Account")
PassCheck = False
UserCheck = False
Login = False
selec = input("What do you want to do?: ")
if selec == '1':
print("Input your credentials")
usernameLog = input("Input you username: ")
usertxt = open("user.txt", "r")
if usernameLog == usertxt.read():
UserCheck = True
else:
UserCheck = False
usertxt.close()
passwordLog = input("Input you password: ")
passwordtxt = open("pass.txt", "r")
if passwordLog == passwordtxt.read():
PassCheck = True
else:
PassCheck = False
passwordtxt.close()
if UserCheck and PassCheck == True:
print('\n')
print('\n')
print('You Logged In')
else:
print('\n')
print('\n')
print('Username or password incorrect')
Login()
Login()
它以前是工作的,只是停止了工作。它表示Login()函数不可调用。尝试更改Login变量的名称。最好将函数名改为小写。 也可以尝试下面的代码。我只是将(如果selec==“1”)更改为(如果selec==1)
您在函数中创建了一个局部变量
Login=False
,该变量在本地隐藏了函数的全局变量Login
。python的惯例是使用小写下划线来命名变量和函数,而类则使用CamelCase
。在代码中,函数和变量都使用了Login
。删除Login=False
行!不是在第一种情况下,我没有看到递归,所以,这里不要使用递归。循环会更好。这不起作用。我使用的是返回字符串的输入。
def Login():
print("Login System")
print("\n")
print("1 - Login")
print("2 - Create an Account")
PassCheck = False
UserCheck = False
selec = input("What do you want to do?: ")
if selec == 1:
print("Input your credentials")
usernameLog = input("Input you username: ")
usertxt = open("user.txt", "r")
if usernameLog == usertxt.read():
UserCheck = True
else:
UserCheck = False
usertxt.close()
passwordLog = input("Input you password: ")
passwordtxt = open("pass.txt", "r")
if passwordLog == passwordtxt.read():
PassCheck = True
else:
PassCheck = False
passwordtxt.close()
if UserCheck and PassCheck == True:
print('\n')
print('\n')
print('You Logged In')
else:
print('\n')
print('\n')
print('Username or password incorrect')
Login()
Login()