我正在尝试将输出写入文件。
import time
start_time = time.clock()
import os
completeName = os.path.abspath("New Volume (F:)/New Innings/eigenvalues .txt")
file = open("eigenvalues.txt", "w")
import sympy as sp
from sympy.matrices import *
k1,k2,k3,k4,k5,x,z = sp.symbols('k1,k2,k3,k4,k5,x,z')
I=Matrix([[-k5*(k1+k3),k2,k3*x+k4],[k2,-k2,0],[-k3*z,0,-k3*x-k4]])
Z=I.eigenvals()
print Z
file.write("%float\n" % Z)
file.close()
print time.clock() - start_time, "seconds"
但是我得到一个错误对应
file.write("%float\n" % Z)
其中说
TypeError: float argument required, not dict
最佳答案
正如评论中已经指出的那样,您正在使用%
格式化字符串,但是您正在传递字典作为参数。 %float
期望一个浮点数,但是您给了它dict Z
。
要解决此问题,可以改用.format
方法,这样您的file.write
变为
file.write("{}\n".format(Z))
关于python - 错误:需要浮点参数,而不是dict,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25908935/