在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形式,代码易读性更强。
本文(完)
新闻热点
疑难解答