Python实现switch效果


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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM