【发布时间】:2015-03-28 21:04:38
【问题描述】:
我已经尝试了很多方法来解决这个问题,但我找不到这个错误的答案:
TypeError: 'int' 类型的对象没有 len()
这是我的代码:
def CalculaDeltaT(Tn, Tm, Fr, T, P):
return (Tn * Fr * T) - (P * T) - (Tm * T)
deltaT = CalculaDeltaT
def CalculaDeltaR(Rn, Fv, Rm, Mt, R):
return (Rn * Fv * R) - (Rm * Mt * R)
deltaR = CalculaDeltaR
def CalculaDeltaV(Vn, Vm, Mr, V):
return (Vn * V) - (Vm * Mr * V)
deltaV = CalculaDeltaV
import matplotlib.pyplot as plt
tmax = 10
Tp = [0] * tmax
Tn = 0.2
Fr = 0.6
Tm = 0.3
P = 0.1
T = [0] * tmax
T[0] = 10
Rn = 0.4
Fv = 0.6
Rm = 0.1
Mt = 0.2
R = [0] * tmax
R[0] = 10
Vn = 0.5
Vm = 0.8
Mr = 0.8
V = [0] * tmax
V[0] = 10
print(len(V))
print(len(R))
print(len(T))
print(len(Tp))
for i in range (1, tmax):
T[i] = T[i-1] + deltaT(Tn, Fr, Tm, T[i-1], P)
Tp[i] = i
plt.plot(Tp, T)
plt.axis(0, 10, 10, 1000)
plt.ylabel('T[Tubarões]')
plt.xlabel('Tempo[em anos]')
plt.title(r'T em função de Tempo')
plt.show()
我尝试过调试,但找不到问题所在。我是学生,如果这是一个基本问题,我很抱歉。
【问题讨论】:
-
哪一行报错?
-
包含有问题的完整错误。
-
查看您在引发错误的行上调用的函数的文档。还可以考虑查看该函数在 pyplot tutorial 中的使用方式。您正在做的事情与应该如何使用该功能不同。你能看到吗?
-
注意:您可能是指将函数的返回值分配给变量,例如
deltaT = CalculaDeltaT()。相反,您将函数本身分配给deltaT。
标签: python python-3.x matplotlib