打印文本后数字格式不适用于制表

Number formatting not working with tabulate after printing text

我正在编写这个学习小程序Python,但我遇到了一个问题。我使用 tabulate,在分隔符后将数字格式设置为 5 个数字,使一切看起来都很好,并且它有效,直到我在 table 中打印文本。打印文本后(声明不能除以 0),该列的格式似乎消失了。

密码是:

if skaiciuoti == True:
while bp <= bg:
    if (bp-a != 0):
        y = float(a / (bp - a))
        sk1.append(a)
        sk2.append(bp)
        sk3.append(y)
        bp = bp + bz
    elif (bp - a == 0):
        sk1.append(a)
        sk2.append(bp)
        sk3.append('Veiksmas negalimas (dalyba is 0)')
        bp = bp + bz

lentele = ['A reiksme', 'B reiksme', 'Y reiksme']
duomenys = zip(sk1, sk2, sk3)

print(tabulate (duomenys, headers=lentele, floatfmt=".5f", tablefmt="grid"))

以下图片可以更好地说明我的问题:

工作一个

坏了一个

我试过在将数字附加到列表之前对其进行格式化,但没有成功。

欢迎提出任何建议和想法。

好的,我已经设法自己修复了它。真的没有那么难,只是没想到而已

对我有用的解决方案是在将数字附加到列表(而不是在列表之前)时格式化数字,就像这样

sk3.append(format(y, '.5f'))