Python中的简单状态机

问题描述 投票:0回答:1

im是Python中的新手,正在尝试构建状态机。我的主意是字典。因此,当我输入密钥时,我会得到一个值。并且,我想切换一个功能。

def one():
    return "January"

def two():
    return "February"

def three():
    return "March"

def four():
    return "April"

def numbers_to_months(argument):
    switcher = {
        1: one,
        2: two,
        3: three,
        4: four,
    }

但是我不知道该怎么办。我的目标是使用值来使用具有相同名称的函数。你们中的任何人都可以帮助我提出一个想法吗?

python state-machine
1个回答
0
投票

这实际上不是状态机,但是您可能的意思是:

def numbers_to_months(argument):
    switcher = {
        1: one,
        2: two,
        3: three,
        4: four,
    }
    func_to_call = switcher[argument]
    func_to_call()

或者也许

def numbers_to_months(argument):
    switcher = {
        1: one,
        2: two,
        3: three,
        4: four,
    }
    func_to_call = switcher[argument]
    return func_to_call
© www.soinside.com 2019 - 2024. All rights reserved.