【发布时间】:2012-04-07 11:38:40
【问题描述】:
可能重复:
“ValueError: zero length field name in format” error in Python 3.0,3.1,3.2
我花了几个小时试图解决这个问题,但无济于事。我读了this guide。 我还没有找到任何示例如何做我需要的。
运行脚本时出现此错误(部分省略):
Traceback (...):
[...]
output.write("{: > 026,.18e} {: > 026,.18e}\n".format(x,y))
ValueError: zero length field name in format.
代码是用 python 2.6 或 2.7 编写的,但我运行的是 python 3.1。我需要如何更改输出格式才能正常工作?
def f(x,y,a = 0.01):
return y/(a+x)-y**3
def ekspEuler(N,dat):
output = open(dat,"w")
h = 3.0/N
x,y = 0,1 #zac.pogoj
for i in range(1,N+2):
output.write("{: > 026,.18e} {: > 026,.18e}\n".format(x,y))
y += h*f(x,y)
x = i*h
output.close()
感谢您的帮助。
【问题讨论】:
-
好吧,你想做什么?或者换个方式问,你为什么不想要
"{}{}".format(x,y)? -
是一个括号里有两个说明符的问题吗?我省略了 .18e,然后我得到了 OverflowError:(34, 'Numerical result our of range')