2016-04-07 11 views
0

私はプログラミングには新しく、これに対する答えを探していましたが、私は自分の検索で間違った質問をしてきたと思います。Pythonの変数としてテキストファイルから文字列を読む

基本的には、文字列を.csvファイルから引数として使用する変数として解釈しようとしています。 .csvファイルを通じて実行され、ファイル内のすべてのxとyの値の列の文字列を与える

a = libtcod.Color(0, 176, 240) 
b = libtcod.Color(100, 155, 200) 
c = libtcod.Color(80, 055, 100) 

def create_room(x, y, color): 
    pass 


y = 1 

with open('Map.txt') as csvfile: 
     readCSV = csv.reader(csvfile, delimiter = ',') 
     for row in readCSV: 
      x = 1 
      for column in row: 
       create_room(x, y, color) 
       x += 1 
      y += 1 

とにかく、私は次のコードを持っています。

したがって、.csvファイルで 'a、b、c'が読み取られた場合、create_room(1、1、a)、create_room(2,1、b)、create_room(3,1、c) )。

代わりに私はcreate_room(1、1、 'a')、create_room(2,1、 'b')、create_room(3,1、 'c')を呼んでいると思います。私が望むもの

これは非常に簡単に解決するはずですが、私は答えを見つけていないか、答えを見つけたかもしれませんが、それはわかりませんでした(もう一度、私はPythonとプログラミング)。

助けていただけたら幸いです!

答えて

0

ab、およびcの3つの変数の代わりに、辞書を作成する必要があります。

#Initialize a dictionary with the appropriate values 
color_lookup = { 
    'a': libtcod.Color(0, 176, 240), 
    'b': libtcod.Color(100, 155, 200), 
    'c': libtcod.Color(80, 055, 100) 
} 

#Then call create_room like this 
create_room(x, y, color_lookup[color]) 
:あなたは、文字列 'a''b'、および 'c'を調べることができますこの方法は、それぞれの値を取得します
関連する問題