我认为我的if语句太长了,我怎么能缩短它们?:
userI = int(input(""))
if userI == 1:
#code
elif userI == 2:
#code
elif userI == 3:
#code
#ETC
答案 0 :(得分:2)
您似乎在问Python是否具有等效的case语句。答案是不。您可以在PEP 3103中了解原因。
答案 1 :(得分:1)
如果每个分支的代码都可以重构为单个函数,则可以构建一个表:
def func_1():
pass
def func_2():
pass
def func_3():
pass
def undefined_input():
pass
table = { '1': func_1, '2': func_2, '3': func_3 }
userI = int(input(""))
table.get(userI, undefined_input)()
答案 2 :(得分:0)
由于Python没有switch语句,因此没有更好的方法来表示这一点。 没有看到你的其他代码就很难说,但你可能会让它看起来更干净。