2017-01-04 12 views
0

私はPython 2.7で、ユーザーが入力する数値に基づいて変数を参照しようとしているプログラムを持っています。明らかにPythonの数値に基づいて変数を参照する方法は?

p1 = "foo1" 
p2 = "foo2" 
p3 = "foo3" 
p4 = "foo4" 
p5 = "foo5" 
p6 = "foo6" 
p7 = "foo7" 
k = raw_input('Enter number') 

、冗長になるkif文を持つ:私は、次があります。私のプログラムのためのよりエレガントな方法は、与えられたk、変数pkを参照してください?たとえば、k=2の場合、プログラムは変数p2を検索します。

+1

私はあなたが必要と思う[リスト](h ttps://docs.python.org/2/tutorial/datastructures.html) –

+0

もしタスクが本当に簡単な 'print(" foo "+ k)'もうまくいくでしょう。 –

+1

またはdictを使用することができますhttps://docs.python.org/2/tutorial/datastructures.html#dictionaries –

答えて

2

次にあなたがインデックスによって私はdict使用することをお勧め

print l[0] 

出力

foo1 
+1

@FrédéricHamidi絶対に正しいです。私は説明を修正します –

0

それらにアクセスすることができ

l = ['foo1', 'foo2', 'foo3'] 

リストの値を保持:

あなたは、あなたがlocals()globals()を使用することができます値ごとに別々の変数を使用したい場合は:(type(k) == intを想定することはTrueです)

locals()['p%d' % k] 

0
lst = [ "foo1", "foo2","foo3","foo4","foo5","foo6","foo7"] #save them as list 

userinput = raw_input("Enter value:") #take input from user 

print(lst[userinput]) #now the number from user will be the index 
# to access your said object 

iはその後、3を入力するとしましょう結果私は得る:

foo4 
関連する問題