根据Python中的输入执行函数

时间:2018-03-12 15:59:07

标签: python-2.7

Python初学者:我想从用户那里获取输入,并根据输入执行多个函数:

def func1():
    'This is function 1'
def func2():
    'This is function 2'
def func3():
    'This is function 3'

funcDict = {'A': func1, 'B': func2, 'C':func3}

response = raw_input()

因此,如果用户输入字符串' A,B' ,func1和func2将被执行

2 个答案:

答案 0 :(得分:1)

您可以使用您的响应来检查该值是否在响应中,您可以通过使用if语句检查A,B或C是否在字符串中来执行此操作。

If "A" in response:
    func1()
If "B" in response:
    func2()
If "C" in response:
    func3()

答案 1 :(得分:0)

这样做的方法很少。 第一步是验证用户输入。 这可以通过检查用户输入的所有字母是否都在funcDict中来完成。

commands = response.split(",") # Split string on "," and return a list
valid = all([i in functDict for i in commands]) # check all commands are in funcDict

然后你可以迭代命令并执行相应的功能。

for command in commands:
    funcDict[command]()