输出格式不正确

Output is not formatting correctly

正在编写将摄氏度转换为华氏度的函数。我必须找到华氏度相当于每个摄氏度值并在双柱图表中并排打印。数字必须格式化为一 (1) 或两 (2) 个小数位。一切正常,除了小数点后两位的格式。

    def temp():
    g = range(0, 100)
    for temp in g:
        F = (9 / 5) * (temp) + (32)
        print("{:.2f}". format(F))    
        print(f'{float(temp)} {float(F):>25}')
    return F
print(temp())

.最后几行(除最后一行外所有其他行都在运行)

98.0        208.40                     
210.20      208.4
99.0        210.20000000000002
210.20000000000002

如何让两列的最后一个数字只有 1 位或 2 位小数

使用回合

将最后一行改为 return round(F,2)

您可以使用

F = round((9 / 5) * (temp) + (32), 2)

使用 print(f'{float(temp)} {float(F):>25.2f}') 替换第二个打印语句应该可以完成此操作。 并在右边的最后一行做同样的事情,你可以用 print(f'{temp():>25.2f}').

替换最终打印

.2f 舍入到小数点后 2 位,就像您在第一个印刷品中那样。

the python PEP docs for more info on string formatting