我正在编写一个程序,它会执行以下操作:
- 接收多个(浮点数)以逗号分隔的输入
- 对列表中的所有元素执行计算
- 输出一个列表(浮点数保留两位小数)
我已经编写了以下程序:
import math
C = 50.0
H = 30.0
Q = []
D = input("Please input the D-Values\n").split(",")
[float(k) for k in D]
#[int(k) for k in D]
print("D = {}".format(D))
for i in D:
j = (math.sqrt((2*C*float(i))/H))
Q.append(j)
print("The answers are")
print(Q)
print(type(Q[0]))
print("Q = {:.2f}".format(Q))
执行此程序时,我遇到了以下错误。
Traceback (most recent call last):
File "/home/abrar/pythonPrograms/Challange6.py", line 24, in <module>
print("Q = {:.2f}".format(Q))
TypeError: non-empty format string passed to object.__format__
我试图搜索解决此问题的方法,但找不到答案。如果不包括{:.2f},即使用{},程序就能正常工作。但是,输出看起来非常凌乱。
非常感谢任何帮助。
print,Q,format =“f0.2”
)来打印完全格式化的列表Q
。如果Python可以使用print(f"{Q:.2f}")
来完成相同的操作,那将会更加简洁。 - divenex__format__
方法。这里附加了一个例子。 - hiro protagonist