[英]How do I print the average of the last three values in this code?
这是代码:
for i in range(0, len(my_list), 6):
print(my_list [i] + " " + my_list [i+1] + " - " + my_list [i+2] + " - " + my_list [i+3] + " , " + my_list [i+4] + " , " + my_list [i+5])
所以这段代码需要一个文件,并将文件中的 6 行打印成一行,格式如下:
Marilyn Munro - 65783234 - 66, 77, 89
Johnny Lang - 83492753 - 45, 65, 45
我希望代码对最后三个数字求平均值,以便输出:
James Hanniburg - 359372932 - 50, 75, 100
对此:
James Hanniburg - 359372932 - 81.25 #81.25 being the average of 50, 75, and 100, assuming 100 is worth 50%, and 50 and 75 are each worth 25%.
编辑:我忘了提及,第三个值的价值为 50%,而其他两个价值各为 25%。
有什么线索吗??
试试这个:(已添加值权重。)
my_list = ['James', 'Hanniburg', 359372932, 50, 75, 100] # just input
a, b, c, d, e, f = my_list
print('{0} {1} - {2} - {3}'.format(a,b,c,((d*0.25+e*0.25+f*0.5)/3)))
输出:
C:\Users\Desktop>py x.py
James Hanniburg - 359372932 - 22.916666666666668
您还可以从统计中导入均值:
my_list = ['James', 'Hanniburg', 359372932, 50, 75, 100]
from statistics import mean
a, b, c, *d = my_list
print('{0} {1} - {2} - {3}'.format(a,b,c,mean(d)))
for i in range(0, len(my_list), 6):
print("{} {} - {} - {}".format(my_list[i], my_list[i+1], my_list[i+2],((my_list[i+3]+my_list[4])*0.25+my_list[5]*0.5)/3))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.