此函数用于在GDP为浮点数的文本中查找GDP的最小值,然后将其返回用作GDP.txt中相关数字的索引,我得到一个错误无法转换为浮点数字符串'if float(value)< float(min_val):'当代码运行时,为了解决这个问题,我添加.split()将两个单独的GDP之间的空格分组在一起的GDP数量;该项目要求我们不使用.split(),因为它创建了一个列表,它是一个集合类型,在项目中是不允许的。因此,我正在寻找另一种方法将数字组合在每个GDP中,以允许我将它们转换为浮点数,而不创建使用函数创建的集合类型.split()
第9行,其中包含1978年至2015年的GDP值:
1 Gross domestic product A191RL1 3.1 0.2 3.3 5.2 5.6 -0.5 -0.2 5.4 4.6 5.6 3.2 -0.2 2.6 -1.9 4.6 7.3 4.2 3.5 3.5 4.2 3.7 1.9 -0.1 3.6 2.7 4.0 2.7 3.8 4.5 4.5 4.7 4.1 1.0 1.8 2.8 3.8 3.3 2.7 1.8 -0.3 -2.8 2.5 1.6 2.2 1.7 2.4 2.6
其中每个GDP之间的空白是12
def find_min_percent(line):
'''Find the min percent change in the line; return the value and the index.'''
min_val = 100000
new_line = ''
n = 76
loop_count = 0
while(True):
n += 12
loop_count += 1
new_line = line[76:n+12]
if loop_count == 47:
break
for value in new_line.split():
if value != string.punctuation:
if float(value) < float(min_val):
min_val = value
min_val_index = line.find(min_val)
print(min_val, min_val_index)
return min_val, min_val_index