我得到一个“TypeError:'int'对象没有属性'_getitem',我不知道为啥
Posted
技术标签:
【中文标题】我得到一个“TypeError:\'int\'对象没有属性\'_getitem\',我不知道为啥【英文标题】:I'm getting a "TypeError: 'int' object has no attribute '_getitem' and I'm not sure why我得到一个“TypeError:'int'对象没有属性'_getitem',我不知道为什么 【发布时间】:2017-09-17 20:04:59 【问题描述】:我正在尝试整合很多内容,但显然这不是我的代码存在的问题。但我不确定它在响起的代码行中在说什么。这是给我一个错误的最后一行。
import numpy as np
import matplotlib.pyplot as plt
phi = np.zeros(181)
for i in range(0,181):
phi[i] = i-90.
hF = np.zeros((181,321))
hM = np.zeros((181,321))
Ob = 23.5*3.131592/180
w = np.zeros(321)
e = 0.6
for j in range(0,321):
w[j] = 2*np.pi*j/320
SF = 3230.3
SM = np.zeros(321)
L = 283
decF = np.zeros(321)
for j in range(0,321):
decF[j] = Ob*np.sin(w[j])
dF = np.zeros(321)
dM = np.zeros(321)
QF = np.zeros((181,321))
for j in range(0,321):
dF[j] = (1+e*np.cos(w[j]-L*np.pi/320))/(1-e**2)
for i in range(0,181):
for j in range(0,321):
QF = 0
if np.abs(np.tan(phi[i]*np.pi/180)*np.tan(decF[j])) <=1:
hF[i][j] = np.acos(-np.tan(phi[i]*np.pi/180)*np.tan(decF[j]))
QF[i][j] = (SF/np.pi)*dF[j]*(hF[i][j]*np.sin(phi[i]*np.pi/180)*np.sin(decF[j])+np.cos(phi[i]*np.pi/180)*np.cos(decF[i])*sin(hF[i][j]))
【问题讨论】:
【参考方案1】:你的问题是这样的:
QF = 0
然后你尝试做:
QF[i][j] = ...
您无法在整数上查找任何内容。
我还注意到您没有定义 sin
函数,但您正在尝试使用它,所以我认为您的最后一行应该是:
QF[i][j] = (SF/np.pi)*dF[j]*(hF[i][j]*np.sin(phi[i]*np.pi/180)*np.sin(decF[j])+np.cos(phi[i]*np.pi/180)*np.cos(decF[i])*np.sin(hF[i][j]))
我还注意到你打电话给np.acos
,而它应该是np.arccos
。
【讨论】:
以上是关于我得到一个“TypeError:'int'对象没有属性'_getitem',我不知道为啥的主要内容,如果未能解决你的问题,请参考以下文章
当我得到一个 pylint 错误时,正在使用 discord.py 的 Discord 意图,因为我得到一个 pylint 错误:“分配给属性”“未在类插槽中定义”