找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2383|回复: 2

[求助] print的时候提示变量招不到?【求助】

1

主题

1

帖子

1

积分

贫民

积分
1
yj239 发表于 2017-7-27 12:27:07 | 显示全部楼层 |阅读模式
import json

# load data into a list
filename = 'C:\Python\python_work\population_data.json'
with open(filename) as f:
    pop_data = json.load(f)

# print the Y2000 population for each country   

for pop_dict in pop_data:
    try:
        if pop_dict['Year'] == '2010':
            country_name = pop_dict['Country Name']
            population = pop_dict['Value']  
    except ValueError:
        print('missing data')
    else:   
        print(country_name + ": " + population)

系统提示NameError: name 'country_name' is not defined, 难道country_name只能在try block区间中有效么?

回复

使用道具 举报

1

主题

2

帖子

2

积分

贫民

积分
2
thanatos0 发表于 2017-7-27 13:57:39 | 显示全部楼层
是没有考虑  pop_dict['Year'] != '2010' 的情况吧
回复 支持 反对

使用道具 举报

0

主题

3

帖子

3

积分

贫民

积分
3
qqfangel 发表于 2017-7-27 22:46:59 | 显示全部楼层
import json

# load data into a list
filename = 'D:\TestProject\pycentosprj\population_data.json'
with open(filename) as f:
    #pop_data=[{"Year": "2010","Country Name": "CN","Value": "10"}]
    pop_data = json.load(f)
# print the Y2000 population for each country   

for pop_dict in pop_data:
    try:
        if pop_dict['Year'] == '2010':
            country_name = pop_dict['Country Name']
            population = pop_dict['Value']  
    except ValueError:
        print('missing data')
    else:   
        print(country_name + ": " + population)
以上是我在python3.6运行通过的代码,请参考。
回复 支持 反对

使用道具 举报

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

本版积分规则

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