在输入python 3.x上随时调用函数

时间:2018-01-14 11:52:19

标签: python python-3.x function

如果你做了这样的功能:

def show():
    print(something)

你如何做到这一点,在任何输入上,如果用户输入一个特定的东西,这将被调用?我希望能够在用户需要时调用这样的多个函数。每次我要求输入时,我都必须将它作为一个选项吗?

编辑:对不起,这不是很清楚。假设我在游戏中有变量,比如钱。当我在游戏过程中要求输入时,输入是关于不相关的事情,我希望用户能够输入例如。 gold和show()函数将激活。然后输入将照常进行。如果不将它作为每个输入的选项,我是否能够做到这一点,例如。

variable = input("type something")
if variable == "gold":
    do stuff
elif variable == other things
    do other things

2 个答案:

答案 0 :(得分:2)

你的意思是这样的:

def thing1(): # Random command
    print('stuff')
def thing2(): # Random command
    print('More stuff')


def check(command):
    '''Checks if the users command is valid else it does a default command'''
    if command == 'thing1':
        thing1()
    elif command == 'thing2':
        thing2()
    else:
        default_thing()

while True: # Loop going on forever
    userinput = input('') # Lets the user input their command
    check(userinput)

答案 1 :(得分:0)

您可以将所有功能都放在字典中:{"<some user input>":func_to_call}并查看它是否与任何

匹配

类似的东西:

def gold():
    print("gold")

input_options = {"gold":gold}

variable = input("type something:")
if variable in input_options:
    input_options[variable]()