2017-07-25 4 views
0

Es besteht ein Problem bei der Überprüfung, ob sich Benutzereingaben in einem Wörterbuch befinden.Python: If (user_input) im Wörterbuch

Grundlagen des Programms ist es ein Shop-Inventar. Die Gegenstände werden in einem Wörterbuch mit entsprechenden Werten gespeichert, z.

Dann möchte ich Benutzer schreiben, was sie wollen. Wenn der Benutzer also 'Wasserkocher' eingegeben hat, möchte ich den Artikel aus dem Shop-Inventar entfernen und Benutzerinventar hinzufügen.

Das Hauptproblem im Moment ist nur eine if-Anweisung zusammen zu bekommen. Dies ist, was ich versuche:

Wie kann ich das Programm zum Drucken "Complete" bekommen?

+4

Was ist falsch an diesem Code? Wenn das Wörterbuch 'Kessel' enthält und der Benutzer diesen Wert eingibt, wird 'Vollständig' ausgedruckt. –

+0

Dieser Code funktioniert –

+1

Unter py2 müssen Sie 'raw_input' verwenden, nicht' input', da 'input' die eingegebenen Daten als Python-Code auswertet. Also müssen Sie "Kessel" mit einfachen Anführungszeichen eingeben. – MatsLindh

Antwort

-4

Statt input() verwenden raw_input:

user_choice = raw_input('What would you like to buy? ') 
if user_choice in shop_inventory: 
    print('Complete') 
else: 
    print('Fail') 

Erläuterung: In Python 2, raw_input() einen String zurückgibt, und input() versucht, die Eingabe als Python-Ausdruck zu laufen.

In Python 3 gibt es nur raw_input(). Es wurde in input() umbenannt.

As statet here

+0

Was ist ein hohes Komma? – Kevin

+0

zitiert. Bearbeitet es .. @ Kevin – BrutalGames

0

Ein Teil von Ihnen wurde die Frage stellt, ob seine im Wörterbuch, Sie aus dem Inventar entfernt werden sollen. Ich glaube, Sie können ‚del‘

user_choice = input('What would you like to buy? ') 
if user_choice in shop_inventory: 
    del shop_inventory[user_choice] 
    print(shop_inventory) 
    print('complete') 
else: 
    print('Fail') 
0

Sie können pop() verwenden das Element aus dem shop_inventory zu entfernen.

shop_inventory = {'kettle': 3} 
user_choice = input('What would you like to buy? ') 
if user_choice in shop_inventory: 
    shop_inventory.pop(user_choice) 
    print(shop_inventory) 
    print('Complete') 
else: 
    print('Fail') 
Verwandte Themen