2016-12-07 4 views
-1

私はこれの古い例を見つけましたが、Python 3.0ではうまくいかなかったようです。私は3項目の基本的なリストを持っています。 myListでxをテストしたい場合は、ユーザーがリストに存在する数字を入力したかどうかを確認できます。リスト内の各項目を数値に関連付ける場合は正しく入力します。これはどうすればいいですか?まだリストに、ちょうど3つの新しい変数を作成せずにありながら、私は値にabcを設定するにはどうすればよいPythonリストの値

myList = ['a','b','c'] 
#say i want a = 27, b = 14 and c = 34 

x = input("Letter please: ") 
if x in myList: 
    print("you got it!") 
    print(#This is where I want item: a,b or c to be equal to a certain value) 
else: 
    print("Nope!") 

+2

あなたの問題は明らかではありません。 – Idos

+2

間違ったデータ構造を使用しています。 'dict()'を使います。 –

+0

Python3では正確には動作しませんでしたか? –

答えて

0

なぜ辞書を使用しないのですか?

mydict = {'a': 1, 'b': 2, 'c': 3} 

x = input("Letter please: ") 
if x in mydict: 
    print("you got it!") 
    print(mydict[x]) 
else: 
    print("Nope!") 
0

だけではなく、「はmyList」のためのリストのdictionnaryを使用します。

myDict= {'a':27,'b':14,'c':34} 
#say i want a = 27, b = 14 and c = 34 

x = input("Letter please: ") 
if x in myDict: 
    print("you got it!") 
    print(myDict[x]) 
else: 
    print("Nope!") 
0

辞書構造を使用して、あなたが探しているものです。 https://docs.python.org/3/tutorial/datastructures.html#dictionaries

myList = {'a':27,'b':14,'c':34} 

... 

if x in myList.keys(): 
    ... 
    print("Value is: " + str(myList[x])) 
... 
+1

また、 'my x in myList:'。あなたは '.keys()'を呼び出す必要はありません。 –

0

誤ったデータ構造を使用しています。リストを使用しないでください。あなたが記述する正確な振る舞いは、辞書を使って見つけることができます(あるいは、他の言語の連想配列と呼ばれることもあります)。辞書を使用すると、値を他の値にマップできます。あなたの場合、文字列を数値にマッピングする:

d = {'a': 27,'b': 14,'c': 34} 

x = input("Letter please: ") 
if x in d: 
    print("you got it!") 
    print(d[x]) 
else: 
    print("Nope!") 
関連する問題