变量和函数帮助// Python

时间:2017-04-23 01:51:18

标签: 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():
    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.")

问题:

  • 我的代码总是从询问密码开始,即使我不想要它 至。
    • 当我将第一个变量更改为函数时,它会修复此
    • 为什么在我设置变量时执行。我非常确定我不应该使用函数而不是变量
  • 即使我提供正确的密码
  • ,无论它总是以不正确的密码结束

1 个答案:

答案 0 :(得分:3)

我认为你正在尝试写这样的东西:

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")