我敲《笨办法学python》这本书时遇到的问题,习题38。
我的代码如下。
# createamappingofstatetoabbreviation
states={
' Oregon': 'OR ',
' Florida': 'FL ',
'加利福尼亚' : ' Ca ',
' New York': 'NY '是,
' Michigan': 'MI '
}
# createabasicsetofstatesandsomecitesinthem
cities={
' CA': 'San Francisco ',
' MI': 'Detroit ',
' Fl': 'Jacksonville '
}
#添加some more cities
cities['NY']='New York '
cities['OR']='Portland '
#打印输出some cities
打印'-' * 10
打印' ny state has : ',cities['NY']
print 'OR State has: ',cities['OR']
#打印邮件状态
打印'-' * 10
print ' Michigan ' sabbreviationis : ',states['Michigan']
print ' Florida ' sabbreviationis : ',states['Florida']
# doitbyusingthestatethencitiesdict
打印'-' * 10
print 'Michigan has: ',cities[states['Michigan']]
print 'Florida has: ',cities[states['Florida']]
#打印事件状态确认
打印'-' * 10
for state,abbrev in states.items () :
print ' % sis Abbreviated % s ' % (state,abbrev )
# now do both at the same time
打印'-' * 10
for state,abbrev in states.items () :
打印' % sstateisabbreviated % shas city % s ' % ()
state,abbrev,cities[abbrev] )
打印'-' * 10
# safelygetaabbreviationbystatesmightnotbethere
State=States.get('Texas ',None ) )。
if not state:
print 'Sorry,no Texas.'
# get a city with a default value
city=cities.get('tx ',' Does Not Exist ' ) )。
print ' thecityforthestate ' tx ' is : % s ' % city
命令行信息如下:
------------
or state has : zy DDR/p----------
------------
跟踪后退(mostrecentcalllast ) :
File 'python_day1.py ',line 34,in
print 'Florida has: ',cities[states['Florida']]
为什么会出现Keyerror呢?