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