2017-08-04 7 views
0

私は2つの価格のリストAとBを持っているとしましょう。各価格はコードに対応しています。 A1のように$ 2.50、A2は$ 3.50などです。ユーザー入力コードから変数にリストから値を割り当てる方法

ユーザは、必要な項目のコードを入力します。そこから、変数に割り当てられた項目の価格が必要になります。入力されたコードをそれぞれのコストに設定するにはどうすればよいですか?各ユーザー入力の最初の文字は、あなたがから選ぶリストの名前に対応している場合(あなたが言ったように、すなわち、「A1は」=>A[0]

items = [str(x) for x in input("What items would you like?").split()] 
item1 = items[0] 
item2 = items[1] 
A = [2.50, 3.50, 4.50, 5.00, 6.50] 
B = [2.00, 3.00, 1.50, 5.50, 3.50] 

答えて

1

、あなたはで罵らevalを使用する必要がありますあなたの解決策。

しかし、最初に入力形式について説明しましょう。ここに私がお勧めするものです:

selections = map(lambda w: (w[0], int(w[1:])), input('> ').split()) 

これはあなたのリストのリストのペアの(まあ、マップオブジェクト)を与える:リスト名となっている最初の要素は、インデックスされた第2の。

今、私たちは、それぞれのリストから私たちのデータをつかむことができます。

for list_name, index in selections: 
    print(eval(list_name)[index-1]) # -1 since input is 1-indexed 

demo

関連する問題