变量和函数帮助//Python
好的,这是代码变量和函数帮助//Python,python,function,variables,Python,Function,Variables,好的,这是代码 def user_password(): input('Please Enter Password: ') #profiles def intercept(): user_password() if user_password == "intercept": print("this is working so far") else: print("Incorect Password") def Jimmy(
def user_password():
input('Please Enter Password: ')
#profiles
def intercept():
user_password()
if user_password == "intercept":
print("this is working so far")
else:
print("Incorect Password")
def Jimmy():
user_password()
if user_password == "Jimmy":
print("this is working so far")
else:
print("Incorect Password")
def Tommy():
user_password()
if user_password == "Tommy":
print("this is working so far")
else:
print("Incorect Password")
#login
user_functions = dict(
intercept=intercept,
Jimmy=Jimmy,
Tommy=Tommy,
# ...
)
user_input = input("Input function name: ")
if user_input in user_functions:
user_functions[user_input]()
else:
print("Error: Unknown function.")
问题:
- 我的代码总是以询问密码开始,即使我不想要它
到
- 当我将第一个变量更改为函数时,它解决了这个问题
- 为什么在我设置变量时它会执行呢。我很确定我不应该用函数代替变量
- 不管怎样,即使我给出了正确的密码,它也总是以不正确的密码结束
- 我想你是想写这样的东西:
def get_user_password():
return input('Please Enter Password: ')
def Jimmy():
user_password = get_user_password()
if user_password == "Jimmy":
print("this is working so far")
因为您的第一行代码是“user_password=input('请输入密码:'),所以这将是执行
=
的第一行,但这并不意味着“将左边的东西简化为右边的操作”。它的意思是“做右边的事情,让左边的事情成为做右边的事情产生的对象的名称”。你介意解释一下它是如何工作的,以及为什么我的代码不工作吗?请先检查代码,因为我更改了一些stuff@intercept您的第一行是SyntaxError。请了解如何定义函数以及如何设置变量def user_password=input('Please Enter password:')
对这些都不做任何操作。即使我做得正确,它也会显示不正确的密码