将浮动的2D列表格式化为2个小数点;蟒蛇

时间:2016-01-17 19:55:50

标签: python list formatting

首先,我知道之前已经问过类似的问题,但我认为这种情况要求采用与我不同的方法。

我有一个温度列表,我需要用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]

我感谢任何人提供的时间。

1 个答案:

答案 0 :(得分:3)

您正在使用int()来解析浮点数的字符串表示形式。您应该使用float()

total += float(database[week][day])

如果你想把它变成一个整数,你可以将它舍入(Python 3的round()在舍入到零小数位时返回int)或使用int()函数float(它不能处理表示浮点数的字符串,但它可以找到浮点数的底线)。

total = int(total)