在python中如何通过用户输入调用函数?

在python中如何通过用户输入调用函数?,python,raspberry-pi,Python,Raspberry Pi,我正在研制一种带有马达的机械按钮压力机。我写了一些代码。我有一些任务是在不同的时间间隔按下按钮(例如长按、短按、3秒按等) 在上面的代码中,您可以看到我有两个间隔,即2秒按压和8秒按压。所以我想要一些东西,当我们运行代码时,它会询问你想要使用哪个函数,然后在给出输入后,它会调用那个特定的间隔,然后按下这个按钮来获得这个间隔。任何帮助都将不胜感激。我不确定我是否正确理解了您想要请求用户输入的上下文(因为大多数RPs都用于您首先无法轻松获得命令提示的环境中) 但假设您确实有某种shell在其中运行此

我正在研制一种带有马达的机械按钮压力机。我写了一些代码。我有一些任务是在不同的时间间隔按下按钮(例如长按、短按、3秒按等)


在上面的代码中,您可以看到我有两个间隔,即2秒按压和8秒按压。所以我想要一些东西,当我们运行代码时,它会询问你想要使用哪个函数,然后在给出输入后,它会调用那个特定的间隔,然后按下这个按钮来获得这个间隔。任何帮助都将不胜感激。

我不确定我是否正确理解了您想要请求用户输入的上下文(因为大多数RPs都用于您首先无法轻松获得命令提示的环境中)

但假设您确实有某种shell在其中运行此Python脚本,这是一种方法:

def short_press():
    ...

def long_press():
    ...

actions = {'short': short_press, 'long': long_press}

command = input('Choose an action: ({})'.format(', '.join(actions.keys())))

if command in actions:
    actions[command]()
else:
    raise ValueError('{} is not a recognized action'.format(command)

我曾尝试将函数放在def中,但它不起作用
def short_press():
    ...

def long_press():
    ...

actions = {'short': short_press, 'long': long_press}

command = input('Choose an action: ({})'.format(', '.join(actions.keys())))

if command in actions:
    actions[command]()
else:
    raise ValueError('{} is not a recognized action'.format(command)