2015-03-21 2 views
0

Например, у меня есть:Комплексное заявление переключатель

def run(): 
    x = input() 
    switch (x): 
    case 1: 
     print "case 1" 
    case 2: 
     print "case 2" 
     break; 
    case 3: 
     print "3" 
    case (4,5): 
     print "4" 
     print "5" 
     break; 
    default: 
     print "default" 

Это просто псевдокод на Python. Я попытался переписать эту программу с использованием реального синтаксиса Python:

def run(): 
    x = input() 
    if x == 1: 
    print ("case 1") 
    if x == 1 or x == 2: 
    print ("case 2") 
    else: 
    if x == 3: 
     print ("3") 
    if x == 3 or x == 4 or x == 5: 
     print ("4") 
     print ("5") 
    else: 
     print ("default") 

Выглядит очень уродливо. Могу ли я сделать это по-другому; например, используя словари?

+1

[http://stackoverflow.com/questions/60208/replacements-for-switch-statement-in-python](http:// stackoverflow.com/questions/60208/replacements-for-switch-statement-in-python) – logic

+0

использовать словарь –

ответ

0

Использование Элиф функция

if x == 1: 
    print ("case 1") 
elif x == 1 or x == 2: 
    print ("case 2") 
elif x == 3: 
    print ("3") 
elif x == 4 or x == 5: 
    print ("4") 
    print ("5") 
else: 
    print ("default") 
0

Вы можете использовать elif вместо того, чтобы писать

else: 
    if x == 3: 

И в Python, if - elif используется как switch-case, как показано ниже в переписан код вашей.

def run(): 
    x = input() 
if x == 1: 
    print ("case 1") 
elif x == 2: 
    print ("case 2") 
elif x == 3: 
    print ("3") 
elif x == 4 or x == 5: 
    print ("4") 
    print ("5") 
else: 
    print ("default") 

И для использования словаря, пожалуйста, проверьте эту ссылку: Replacements for switch statement in Python

Смежные вопросы