【发布时间】:2020-11-13 00:26:29
【问题描述】:
我需要打印一项作业的平均每年。我有以下内容: 一个包含 2000 多行的文本文件:
Unit 42;2017;7.0
Love Your Garden;2011;8.0
Limmy's Show;2010;8.3
Nazi Megastructures;2013;8.0
Omniscient;2020;6.3
Green Frontier;2019;7.4
Los Briceño;2019;8.4
Aftermath;2014;
Sugar;2006;
Beyond Stranger Things;2017;
Men on a Mission;2018;
Click for Murder;2017;
如您所见,有些电影没有等级,因此需要忽略这些 现在我需要像这样输出它:
2000: 1,1111
2001: 2,2222
etc up until 2020
现在我编写了以下代码来从 txt 文件中提取正确的部分
我尝试了以下方法:
file = open("tv_shows.txt", "r", encoding='utf8')
#content = file.read()
result = {}
for line in file:
year, number = line.split(';')[1], line.split(';')[2]
if len(number) <3:
continue
year = int(year)
number = float(number)
try:
result[year].append(number)
except KeyError:
result[year] = [number]
for k, v in sorted(result.items()):
print('{}: {:.4f}'.format(k, sum(v) / len(v)))
它给了我这个,这好多了,但现在它给我提出了一个新问题。如何删除平均数字中的多余零。
2000: 7.7000
2001: 7.4000
2002: 7.1000
2003: 7.0091
2004: 7.6667
2005: 7.7333
2006: 7.2579
2007: 7.5080
2008: 7.1630
2009: 7.3884
2010: 7.3904
2011: 7.3507
2012: 7.0787
2013: 7.0418
2014: 7.2427
2015: 7.2462
2016: 7.1730
2017: 7.1478
2018: 7.0034
2019: 7.1191
2020: 6.8130
【问题讨论】:
-
请用您尝试过的代码更新您的问题。你知道
the average是什么吗? -
我更新了我的代码,它为我提出了一个新问题:如何删除平均数字中多余的零
标签: python python-3.x average