KeyError: 20, not sure what is wrong

0 人关注

我是Python的新手,目前正试图创建一个程序,以创建收入的年度百分比变化列表。

这是我到目前为止所拥有的。

revs = {}    
for year in range(14, 20):    
    revs[year] = float(input("Revenue in {0}: ".format(year)))
revs_change = []
for year in range(14, 20):
    next_year = year + 1
    revs_change.append((revs[next_year] - revs[year])/revs[year])
print(revs_change[0])    

错误出现在第8行,它与使用变量next_year有关。

1 个评论
你写下14到19号键,然后你试着读出14到20号键。
python
python-3.x
dictionary
keyerror
Alexander Pentchev
Alexander Pentchev
发布于 2020-08-20
2 个回答
feed_me_pi
feed_me_pi
发布于 2020-08-20
0 人赞同

如果你要打印出 year next_year 的值,问题是没有 revs[next_year=20] 的值。

一种方法是这样做的--

start = 14
end   = 21
for year in range(start, end):
     revs[year] = float(input("Revenue in {0}: ".format(year)))
revs_change = []
for year in range(start, end-1):
    next_year = year + 1
    print(f"Year: {year}, Next Year: {next_year}\n")
    revs_change.append( (revs[next_year] - revs[year])/revs[year] )