鱼C论坛

 找回密码
 立即注册
查看: 1577|回复: 2

[已解决]求大神解答

[复制链接]
发表于 2020-10-24 16:49:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
states = {
    'Oregon':'OR',
    'Florida':'Fl',
    'California':'Ca',
    'New York': 'NY',
    'Michigan':'MI'
}


cities = {
    "CA":'San Francisco',
    'MI':'Detroit',
    'FL':'jacksonville'
}


cities['NY'] = 'New York'
cities['OR'] = 'Portland'


print('-' * 10 )
print('NY Steat has:',cities['NY'])
print('OR Steat has:',cities['OR'])


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


print('-' * 10)
print("Michigan has:",cities[states['Michigan']])
print("Florida has:",cities[states['Florida']])


print('-' * 10)
for state, abbrev in list(states.items()):
    print(f"{abbrev} has the city {abbrev}")


print('-' * 10)
for abbrev,city in list(cities.items()):
    print(f'{abbrev} has the city {city}')


print('-' *10)
for state, abbrev in list(states.items()):
    print(f'{state} state is abbreviated {abbrev}')
    print(f"and has city {cities[abbrev]}")

print('-' * 10)

state = state.get('Texas')

if not state:
    print("Sorry, no Texas.")


city = cities.get('TX','Does Not Exist')
print(f'The city for the state "TX" is:{city}')





我想问下   我哪里出错了  出什么错了
最佳答案
2020-10-24 18:15:32
楼上的代码有行号,参照楼上的代码说(以后发帖子最好使用高级模式里的代码编辑器,<>这个符号,代码发出来有行号,好说明)

首选,第32、33行,使用字典 states 的 value 作为字典 cities 的键取值,但大小写不对应,改成对应的

这点楼上说过了,第03行Fl 改成FL,第 04行Ca 改成CA

其次第60行, 第 47行 for state, abbrev in list(states.items()) 解包后 state为字符串类型

字符串是没有 .get() 这个方法的,你可以将 第53 到第 56行改成:
if 'Texas' not in state:
    print("Sorry, no Texas.")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-24 17:47:35 | 显示全部楼层
本帖最后由 冰河星云 于 2020-10-25 15:49 编辑

拼写错误吧
而且字符串里没有get这个方法
改成
states = {
    'Oregon':'OR',
    'Florida':'FL',
    'California':'CA',
    'New York': 'NY',
    'Michigan':'MI'
}


cities = {
    "CA":'San Francisco',
    'MI':'Detroit',
    'FL':'jacksonville'
}


cities['NY'] = 'New York'
cities['OR'] = 'Portland'


print('-' * 10 )
print('NY Steat has:',cities['NY'])
print('OR Steat has:',cities['OR'])


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


print('-' * 10)
print("Michigan has:",cities[states['Michigan']])
print("Florida has:",cities[states['Florida']])


print('-' * 10)
for state, abbrev in list(states.items()):
    print(f"{abbrev} has the city {abbrev}")


print('-' * 10)
for abbrev,city in list(cities.items()):
    print(f'{abbrev} has the city {city}')


print('-' *10)
for state, abbrev in list(states.items()):
    print(f'{state} state is abbreviated {abbrev}')
    print(f"and has city {cities[abbrev]}")

print('-' * 10)

if 'Texas' not in state:
    print("Sorry, no Texas.")


city = cities.get('TX','Does Not Exist')
print(f'The city for the state "TX" is:{city}')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-24 18:15:32 | 显示全部楼层    本楼为最佳答案   
楼上的代码有行号,参照楼上的代码说(以后发帖子最好使用高级模式里的代码编辑器,<>这个符号,代码发出来有行号,好说明)

首选,第32、33行,使用字典 states 的 value 作为字典 cities 的键取值,但大小写不对应,改成对应的

这点楼上说过了,第03行Fl 改成FL,第 04行Ca 改成CA

其次第60行, 第 47行 for state, abbrev in list(states.items()) 解包后 state为字符串类型

字符串是没有 .get() 这个方法的,你可以将 第53 到第 56行改成:
if 'Texas' not in state:
    print("Sorry, no Texas.")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 05:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表