使用变量作为格式精度的麻烦

trouble with using variables as format precision

我一直在尝试使用变量作为浮点精度的说明符来限制 pi 显示的小数位数:

num = float(input("What decimal point do you want pi to be displayed to?(Up to 15) "))

print(format(math.pi, '.(num)f'))

当我 运行 它时,它显示 ValueError: Format specifier missing precision

我想知道是否有任何其他方式来编写它以便我能够使用变量。我很新,这可能是一个非常简单的错误,但我不知道。

感谢您的帮助:D

您可以使用带 .* 的字符串格式化运算符作为格式化选项:

from math import pi
print('%.*f' % (5, pi))

这输出:

3.14159

您可以将其作为格式参数传入...

num="3"
print("{pi:0.{num}f}".format(pi=22/7.0,num=num))