【发布时间】:2018-05-24 01:03:47
【问题描述】:
我正在尝试从国家名称后面的单独文件中提取特定数字。代码似乎没有显示任何输入,我几乎不知道我在做什么。
它显示输出,但仅显示没有预期寿命数据或没有基尼数据的其他地方。
这是我从中提取的文件的示例
1: Lesotho :63.2
2: South Africa :62.5
3: Central African Republic :61.3
4: Micronesia, Federated States of :61.1
5: Haiti :60.8
这是我目前的代码
country = []
info = []
def countryFinder(fileName,info):
infile = open(fileName, "r")
line = infile.readline()
for line in infile:
fields = line.split(":")
country.append(fields[1].strip())
info.append(fields[2].strip())
return country, info
userCountry = input("Please enter a country (\"q to quit\"): ")
life = countryFinder("life.txt",info)
gini = countryFinder("gini.txt",info)
while userCountry != "q":
if userCountry in life:
print (" Life Expectancy is ",life[info]," years at birth")
else:
print (" No Life Expectancy Data")
if userCountry in gini:
print (" Gini Value is ",gini[info])
else:
print (" No Gini Data")
userCountry = input("Please enter a country (\"q to quit\"): ")
软件:带有 python 3.6 的 spyder
【问题讨论】:
-
你的意思是代码没有显示任何输出吗?另外,1) 指出你使用的是哪个版本的 python 2) 这个脚本是编译还是你收到错误消息?
-
您是否检查了变量中保存的值以及代码中的不同点以验证值是否符合您的预期?你可以设置一些测试断言用例。
-
例如,你的函数中的 country 应该是 country = fields[1] 吗?
-
@QHarr 它显示输出,但仅显示没有预期寿命数据或没有基尼数据的其他地方
-
我正在使用 spyder 和 python 3.6
标签: python file extraction