Java中有switch这个东东有的地方使用switch感觉还挺好使,但是Python没有提供switch这个东东,下面我们想办法来完成类似Java和C里面的那种switch效果。
Java示例代码:
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个月份(1-12):");
int month = sc.nextInt();
switch(month) {
case 1:
case 2:
case 12:
System.out.println("冬季");
break;
case 3:
case 4:
case 5:
System.out.println("春季");
break;
case 6:
case 7:
case 8:
System.out.println("夏季");
break;
case 9:
case 10:
case 11:
System.out.println("秋季");
break;
default:
System.out.println("输入的格式有误!!!");
}
sc.close();
}
}
eclipse中执行结果:
请输入一个月份(1-12):
12
冬季
Python示例代码:
sets = {
'1': '冬季',
'2': '冬季',
'3': '春季',
'4': '春季',
'5': '春季',
'6': '夏季',
'7': '夏季',
'8': '夏季',
'9': '秋季',
'10': '秋季',
'11': '秋季',
'12': '冬季',
}
string = int(input("请输入一个月份(1-12):"))
print(sets.get(str(string), '输入的格式有误!!!')) # get(value,not result return value)
pycharm中执行结果:
请输入一个月份(1-12):12
冬季
或
def a(month):
print(f'你输入的是:【{month}】是春季')
def b(month):
print(f'你输入的是:【{month}】是夏季')
def c(month):
print(f'你输入的是:【{month}】是秋季')
def d(month):
print(f'你输入的是:【{month}】是冬季')
def e(month):
print(f'输入的是:【{month}】请检查,格式有误!!!')
sets = {
'1': d,
'2': d,
'3': a,
'4': a,
'5': a,
'6': b,
'7': b,
'8': b,
'9': c,
'10': c,
'11': c,
'12': d,
'13': e
}
string = str(input("请输入一个月份(1-12):"))
sets.get(string, e)(string)
pycharm中执行结果:
请输入一个月份(1-12):12
你输入的是:【12】是冬季