Python 《笨办法学python》38题keyerror问题,,我在敲《笨办法学pyth


我在敲《笨办法学python》这本书时遇到的问题,习题38。
我的代码如下:

# create a mapping of state to abbreviationstates = {    'Oregon': 'OR',    'Florida': 'FL',    'California': 'CA',    'New York': 'NY',    'Michigan': 'MI'}#create a basic set of states and some cites in themcities = {    'CA': 'San Francisco',    'MI': 'Detroit',    'Fl': 'Jacksonville'}# add some more citiescities['NY'] = 'New York'cities['OR'] = 'Portland'# print out some citiesprint '-' * 10print "NY State has: ", cities['NY']print "OR State has: ", cities['OR']# print some statesprint '-' * 10print "Michigan's abbreviation is: ", states['Michigan']print "Florida's abbreviation is: ", states['Florida']# do it by using the state then cities dictprint '-' * 10print "Michigan has: ", cities[states['Michigan']]print "Florida has: ", cities[states['Florida']]# print evert state abbreviationprint '-' * 10for state, abbrev in states.items():    print "%s is abbreviated %s" % (state, abbrev)# now do both at the same timeprint '-' * 10for state, abbrev in states.items():    print "%s state is abbreviated %s has city %s" % (        state, abbrev, cities[abbrev])print '-' * 10# safely get a abbreviation by states might not be therestate = states.get('Texas', None)if not state:    print "Sorry, no Texas."# get a city with a default valuecity = cities.get('TX', 'Does Not Exist')print "The city for the state 'TX' is: %s " % city

命令行的信息如下:

----------NY State has:  New YorkOR State has:  Portland----------Michigan's abbreviation is:  MIFlorida's abbreviation is:  FL----------Michigan has:  DetroitFlorida has: Traceback (most recent call last):  File "python_day1.py", line 34, in <module>    print "Florida has: ", cities[states['Florida']]KeyError: 'FL'

为什么会出现Keyerror呢?

请注意大小写

python#create a basic set of states and some cites in themcities = {    'CA': 'San Francisco',    'MI': 'Detroit',    'Fl': 'Jacksonville'  # l 是小写, 请改为 'FL'}

编橙之家文章,

评论关闭