つまり、基本的にatmは2つの異なるリストを作成し、それらの場所はそれぞれ互いに異なります。ユーザーがアイテム名を入力します。プログラムは、事前定義されたリストでそのインデックスを検索し、2番目のリストからそれぞれの値を提供します。
私が欲しいのは、最初のコメントのリスト(2Dリスト)が機能することです。そのリストを使用して、ユーザーが「パン」と入力することは可能ですか。
プログラムはインデックスを取得し、値5を返します。基本的に2Dリストでインデックスを作成します。多くの検索を行いましたが、役に立ちませんでした。
あなたがコードを提供するか、少なくとも私を正しい方法で導くことができれば。
ありがとう。
#super_market_prices=[['Bread',5],['Loaf',100],['Meat_Chicken',2.4],['Meat_Cow',450]]
'''
Program listing Super Market Prices
Search by name and get the price
'''
super_market_items=['Bread','Loaf','Meat_Chicken','Meat_Cow']
super_market_prices=[5,4,20,40]
item=str(input('Enter item name: '))
Final_item=item.capitalize() #Even if the user inputs lower_case
#the program Capitalizes first letter
try:
Place=super_market_items.index(Final_item)
print(super_market_prices[Place])
except ValueError:
print('Item not in list.')
2Dリストは必要ありません。辞書が必要です。幸い、2Dリスト(各サブリストに2つの要素しかない)から辞書に移動するのは非常に簡単です。
prices = [['Bread',5],['Loaf',100],['Meat_Chicken',2.4],['Meat_Cow',450]]
d = dict(prices)
# {'Bread': 5, 'Loaf': 100, 'Meat_Chicken': 2.4, 'Meat_Cow': 450}
今、あなたがしなければならないのは辞書をクエリすることです(O(1)ルックアップ):
>>> d['Bread']
5
エラーチェックを有効にする場合:
>>> d.get('Bread', 'Item not found')
5
>>> d.get('Toast', 'Item not found')
'Item not found'
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加