2016-08-02 6 views
0

Wenn ich ein Programm mache, das Sie zum Übersetzen von Wörtern legiert, gibt es eine Möglichkeit, elif nicht jeden Zeh zu verwenden und einfach nur Wörter zu übersetzen. Das habe ich jetzt bekommen!Wie Eliff Anweisung Verwendung reduzieren?

print("English to Exrian Dictionary") 

search = input("Enter the word you would like to translate: ").lower() 

if search == "ant": 
    print("Ulf") 
elif search == "back": 
    print("Zuwp") 
elif search == "ban": 
    print("Zul") 
elif search == "bat": 
    print("Zuf") 
elif search == "bye": 
    print("Zio") 
elif search == "wumohu": 
    print("Camera") 
elif search == "car": 
    print("Wuh") 
elif search == "carrot": 
    print("Wuhhef") 
elif search == "cat": 
    print("Wuf") 
elif search == "doctor": 
    print("vewfeh") 
elif search == "dog": 
    print("Ves") 
elif search == "duck": 
    print("Vawp") 
elif search == "egg": 
    print("Oss") 
elif search == "enter": 
    print("Olfoh") 
elif search == "experiment": 
    print("Oxkohymolf") 
elif search == "fat": 
    print("Tuf") 
elif search == "flower": 
    print("Tnecoh") 
elif search == "goal": 
    print("Seun") 
elif search == "goat": 
    print("Seuf") 
elif search == "hand": 
    print("Rulv") 
elif search == "hat": 
    print("Ruf") 
elif search == "hello": 
    print("Ronne") 
elif search == "hello": 
    print("Ronne") 
elif search == "house": 
    print("Reago") 
elif search == "hello": 
    print("Ronne") 
elif search == "information": 
    print("Yltehmufyel") 
elif search == "inspiration": 
    print("Ylgkyhufyel") 
elif search == "lawyer": 
    print("Nucioh") 
elif search == "no": 
    print("Le") 
elif search == "yes": 
    print("Iog") 
else: 
    print("No results were found for '" + search + "'") 
+0

Bitte schreiben Sie keine Bilder von Code. Bitte geben Sie stattdessen Ihren Code in die Frage ein. – bernie

+2

A ['dict'] (https://docs.python.org/3/library/stdtypes.html#typesmapping) scheint angemessen. – jedwards

+0

Verwenden Sie ein Mapping. Überprüfen Sie, ob 'search' im Mapping vorhanden ist und drucken Sie den Wert, sonst * Es wurden keine Ergebnisse gefunden ... * –

Antwort

0

Sie können ein dict Objekt nur verwenden.

Beispiel:

words = {'ant': 'Ulf', 'back': 'Zuwp', 'ban' : 'Zul'} # etc 
try: 
    print(words[search]) 
except KeyError as e: 
    print("No results were found for '" + search + "'") 
2

ein dict Verwenden jeden Eingang mit dem entsprechenden Ausgang zu kartieren.

print("English to Exrian Dictionary") 
d = {"ant": "Ulf", 
    "back": "Zuwp", 
    # etc 
    } 

search = input("Enter the word you would like to translate: ").lower() 

if search in d: 
    print(d[search]) 
else: 
    print("No results were found for '" + search + "'") 
0

Dies könnte helfen:

def translate(item): 
try: 
    return { 
     'ant': "Ulf", 
     'back': "Zuwp", 
     'ban': "Zul" 
    }[item] 
except KeyError as e: 
    return "No results were found for '" + search + "'" 

print("English to Exrian Dictionary") 

search = raw_input("Enter the word you would like to translate: ").lower() 

print translate(search) 
Verwandte Themen