首先,我知道之前已经问过类似的问题,但我认为这种情况要求采用与我不同的方法。
我有一个温度列表,我需要用2位小数打印出来。到目前为止,我有:
def getWeekAverages():
weekAverages = []
MAX = WEEKS
total = 0
for week in range (WEEKS):
total = 0
for day in range(len(DAYS)):
total += round(float(database[week][day]), 2)
weekAverages.append(total/7)
return weekAverages
我尝试过10种不同的方法,包括唱歌"%。2f"和圆形。我对numpy数组不是很熟悉所以我可能只需要阅读更多内容。当我运行程序时,没有任何改变,我的输出来到:
The average temperatures for a given week are [77.71428571428571, 71.71428571428571, 74.0, 77.85714285714286, 35.42857142857143, 0.0]
我感谢任何人提供的时间。
答案 0 :(得分:3)
您正在使用int()
来解析浮点数的字符串表示形式。您应该使用float()
。
total += float(database[week][day])
如果你想把它变成一个整数,你可以将它舍入(Python 3的round()
在舍入到零小数位时返回int
)或使用int()
函数float
(它不能处理表示浮点数的字符串,但它可以找到浮点数的底线)。
total = int(total)