我覺得我如果statments太長,我怎麼會縮短他們失望?:較短的if語句
userI = int(input(""))
if userI == 1:
#code
elif userI == 2:
#code
elif userI == 3:
#code
#ETC
我覺得我如果statments太長,我怎麼會縮短他們失望?:較短的if語句
userI = int(input(""))
if userI == 1:
#code
elif userI == 2:
#code
elif userI == 3:
#code
#ETC
因爲Python沒有switch語句中有沒有更好的方式來表示這一點。 如果沒有看到代碼的其餘部分,很難說,但你可能會使它看起來更乾淨。
您似乎在問Python是否具有與case語句等價的功能。答案是不。你可以閱讀關於爲什麼在PEP 3103。
如果每個分支的代碼能夠被重構到一個單一的功能,你可以建一個表:
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)()
您正在使用的,而不是比較運算賦值運算符。 – thefourtheye
對所有分支執行相同的代碼嗎? – thefourtheye
很難說沒有看到執行什麼代碼,但是你可能會想用字典代替。 –