在python中使用循环和数组更改条件

2024-09-24 02:19:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我在python中有一个和旧的脚本,在

if __name__ == '__main__': <br>

我们称之为函数的参数。如果它的参数等于某个字符串,我们应该调用函数。 旧代码。你知道吗

if sys.argv[1] == 'add':
    sys.exit(add(db, usr))
if sys.argv[1] == 'rem':
    sys.exit(rem(db, usr))
if sys.argv[1] == 'rmusr':
    sys.exit(rmusr(db, usr))

第一次,我想到了“switch case”,但是我怎么发现,python没有它。我试着循环排列。 我能用这个吗?对不起,我是两小时前开始学python的。但这很有趣,我希望你能帮助我。你知道吗

 actions = ['add','rem','rmusr']
    for a in actions:
    if sys.argv[1] == 'a':
        sys.exit(a(db, usr))

对吗?我发现,我们不应该用“$”来调用变量。请帮忙。你知道吗


Tags: namebr脚本actionsadddb参数if
3条回答

你的代码可能是对的,但是有一个输入错误。你知道吗

actions = ['add','rem','rmusr']
for a in actions:
    if sys.argv[1] == 'a':
        sys.exit(a(db, usr))

我觉得最好用在:

actions = ['add','rem','rmusr']
if sys.argv[1] in actions:
    sys.exit(sys.argv[1](db, usr))

使用字典:

actions = {'add': add, 'rem': rem, 'rmusr': rmusr}

try:
    sys.exit(actions[sys.argv[1]](db, usr))
except KeyError:
   pass
   # or whatever you need to do for an invalid action

您可以将函数添加到字典中,然后使用用户输入字符串检索函数:

actions = {
    'add': add,
    'rem': rem,
    'rmusr': rmusr,
}

action = sys.argv[1]

if action in actions:
    sys.exit(actions[action](db, usr))

相关问题 更多 >