打印文本后数字格式不适用于制表
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'))
我正在编写这个学习小程序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'))