print()中的右对齐错误

时间:2016-01-18 19:03:14

标签: python python-3.x printing alignment

我正在尝试右对齐从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)))

2 个答案:

答案 0 :(得分:2)

在为rjust对象定义 float 时,您正在应用str。另一种方法是与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'

答案 1 :(得分:1)

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

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

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