2017-12-28 15 views
-3
#create a mapping of state to abbreviation 
states = [ 
     'Oregon': 'OR', 
     'Florida': 'FL', 
     'California': 'CA', 
     'New York': 'NY', 
     'Michigan': 'MI' 
] 

# create a basic set of states and some cities in them 
cities = [ 
     'CA': 'San Francisco', 
     'MI': 'Detroit', 
     'FL': 'Jacksonville' 
] 
, 
#add someor more cities 
cities['NY'] = 'New York' 
cities['OR'] = 'Portland' 

#rprint out some citis 
print '-' * 10 
print "NY state has: ", cities['NY'] 
print "OR state has: ", cities['OR'] 

#print some states 
print '-' * 10 
print "Michigan's abbreviation is: ", states['Michigan'] 
print "Florida's abbreviation is: ", states['Florida'] 

このコードはex39_dictionaries.pyに格納されています。私はそれを実行すると、私は以下のエラーを参照してください。このコードで何が間違っていますか?Pythonエラー:SyntaxError:構文が無効です。これを解決するには?

ファイル "ex39_dictionaries.py"、3行 'オレゴン': 'OR'、 ^ にSyntaxError:無効な構文角括弧を使用して

+1

コードの目的は構文をスローする場合エラー、それは完全に動作しています。コードが何をすべきだと思いますか? –

+0

そして、辞書は中かっこで定義され、角かっこではありません。 –

+0

ありがとう@DavyM、中括弧を使用してエラーを解決しました。 – Murali

答えて

1
states = [ 
    'Oregon': 'OR', 
    'Florida': 'FL', 
    'California': 'CA', 
    'New York': 'NY', 
    'Michigan': 'MI' 
] 

、これはリストを定義しようとする試みでありますリスト項目はカンマで区切る必要があります。しかし、あなたがここに(すなわちkey: valueペアのコレクション)辞書を作成したいと思われ、そのために(中括弧)をブレースを使用する必要があります。

states = { 
    'Oregon': 'OR', 
    'Florida': 'FL', 
    'California': 'CA', 
    'New York': 'NY', 
    'Michigan': 'MI' 
} 
+1

*角括弧*は通常、 '<...>'のようなものを参照します。あなたは*角括弧*を意味すると思います。 – chepner

+0

右...私はネイティブスピーカーではありません。更新しました、ありがとう! – plamut

関連する問題