在Python中,沒有提供與Java、C#等語言中類似的switch語句,其主要原因是switch語句不會提供更有價值的功能。在實際中,我們可以根據實際情況靈活運用其它方法來解決該問題。
本文給出兩種替代方法。
下面這個例子是根據用戶選擇的不同運算方式對兩個整數執行對應的運算。
v1 = input("請輸入第1個數:")
v2 = input("請輸入第2個數:")
x = int(v1)
y = int(v2)
print("請選擇操作:/n 1-加法(+)/n 2-減法(-)/n 3-乘法(×)/n 4-除法(÷):")
choice = input("請輸入您的操作:")
if choice == "1":
print(f'{x} + {y} = {x+y}')
elif choice == "2":
print(f'{x} - {y} = {x-y}')
elif choice == "3":
print(f'{x} × {y} = {x*y}')
elif choice == "4":
print(f'{x} ÷ {y} = {x/y}')
else:
print("選擇無效")
在Python 3.8.2 IDLE的運行截圖如下:
Python中的字典類型使用鍵值對來存儲數據,我們可以根據這一特點來替代switch語句,下面這個例子是對上面例子的一個改寫:
v1 = input("請輸入第1個數:")
v2 = input("請輸入第2個數:")
x = int(v1)
y = int(v2)
print("請選擇操作:/n 1-加法(+)/n 2-減法(-)/n 3-乘法(×)/n 4-除法(÷):")
choice_dict = {'1':lambda x,y: x+y,'2':lambda x,y: x-y,'3':lambda x,y: x*y,
'4':lambda x,y: x/y}
choice_op = input("請輸入您的操作:")
print(choice_dict.get(choice_op,lambda x,y:'選擇無效')(x,y))
輸出截圖如下:
從上面的例子中可以看出,使用if...else形式,代碼易讀性更強。
本文(完)
|
新聞熱點
疑難解答