print() 中的右对齐错误

Right alignment error in print()

我正在尝试右对齐打印得到的数值,但出现错误:

'float' object has no attribute 'rjust'

这是我尝试使用它的代码。我应该如何正确对齐我得到的所有数值 print:

enterValue = float(input("The input value is: "))

# We know that the circumference of a circle is 2*pi*r.
CircumferenceV = (2*math.pi*enterValue)
print("The Circumference is : %0.2f" %(circleCircumference.rjust(10)))

您在为 str 对象定义的 float 上应用 rjust。另一种方法是在 format:

上与 :fill.precision 符号右对齐
>>> print("{:10.2f}".format(3.142059))
       3.14

应用于circleCircumference

print("The Circumference is : {:10.2f}".format(circleCircumference))

仅使用 % 可以用以下方法做同样的事情:

>>> circleCircumference = 3.29920
>>> "Circle circumfence: %10.2f" % circleCircumference
'Circle circumfence:        3.30'

如果您只想要 2 位小数,您可以使用 Jim 建议的相同答案,但稍作修改。

print("The Circumference is : {:>10.2f}".format(circleCircumference))

这告诉 print 语句将 circleCircumference 作为浮点数打印到 2 个位置,同时在 10 个字符的列中右对齐。