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
冬季

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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】是冬季