这是我的代码的一部分:
if ind_1<>0:
rbrcol=[]
brdod1=[]
for i in range(27):
if Add_Cyc_1[1,i]!=0:
rbrcol.append(Add_Cyc_1[0,i])
brdod1.append(Add_Cyc_1[1,i])
Probrani_1=vstack((rbrcol,brdod1))
pok=0
for i in (rbrcol):
pok+=1
broj1=0
for j in range(21):
if SYS_STATE_1[i,j]==0:
broj1+=1
if broj1 <= Probrani_1[1,pok-1]:
SYS_STATE_1[i,j]=123456
当我运行程序时,我得到了这个:
Traceback (most recent call last):
File "C:/Python26/pokusaj2.py", line 157, in <module>
for i in (rbrcol):
NameError: name 'rbrcol' is not defined
我做错了什么???
答案 0 :(得分:4)
我认为真正的问题是如果处于最顶端。您的缩进不正确 - 写入的代码将无法运行,因为if
之后的行没有缩进。
假设它在原始代码中缩进,那么如果ind_1为0,那么rbrcol
不会被初始化,而如果if
语句从未触发,则ghostdog会表示rbrcol
将不会被设置一点都不。
答案 1 :(得分:2)
正如错误所说,“rbrcol”没有价值。检查你的循环
for i in range(27):
if Add_Cyc_1[1,i]!=0: <----- this part doesn't get through
rbrcol.append(Add_Cyc_1[0,i])
brdod1.append(Add_Cyc_1[1,i])
Probrani_1=vstack((rbrcol,brdod1))
另外,什么是Add_Cyc_1?分配多维列表
Add_Cyc_1[1,i] should be Add_Cyc_1[1][i]
此外,这个
if ind_1<>0: <<--- if this is not true, then rbrcol will not be defined
rbrcol=[] << --- <> should be != , although <> its also valid, but now ppl use !=
brdod1=[]