2017-07-25 7 views
0

ユーザ入力が辞書に含まれているかどうかを確認することに問題があります。Python:If(user_input)in dictionary

プログラムの基本は店頭にあります。アイテムは、対応する値を有する辞書に格納される。 {'kettle': 3,.....}

次に、ユーザーが望むものを書くようにします。だから、ユーザーが 'ケトル'を入力した場合、私は店の在庫から商品を取り出し、ユーザーの在庫を入れたいと思う。

今の主な問題は、単にif文を一緒に取得することです。これは私がしようとしているものです:

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

私はプログラムは「完全な」印刷するには取得できますか?

+4

このコードで何が問題になっていますか?辞書に「ケトル」が含まれていて、ユーザーがその値を入力すると、「完了」と表示されます。 –

+0

このコードは動作します –

+1

py2の下では、 'input'ではなく' raw_input'を使用しなければなりません。 'input'は入力されたデータをPythonコードとして評価します。したがって、一重引用符で '' kettle ''と入力する必要があります。 – MatsLindh

答えて

-4

代わりのinput()raw_inputを使用する:

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

説明: パイソン2、ストリングを返し、input()は、Python式として入力を実行しようとraw_input()を。

Python 3には、raw_input()しかありません。 input()に名前が変更されました。

As statet here

+0

コンマは何ですか? – Kevin

+0

引用符。それを編集.. @ケビン – BrutalGames

0

その辞書に、あなたがインベントリから削除したい場合は、あなたの質問の一部が求めていました。私はあなたがshop_inventoryから項目を削除するにはpop()を使用することができます「デル」

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

を使用することができると信じています。

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')