View Single Post
  #1  
Old 11-23-2011, 12:20 PM
starlingstm starlingstm is offline
Member
 
Join Date: May 2011
Posts: 19
Exclamation Object not subscriptable

Hello, I am defining a function with with a FOR and IF loop inside to print the position of an object. If the object is correctly placed with before the loop completes, the cooridnates will print along with a mesaage for the next action. If the object isn't place before the loops completes, a message is printed along with the correct coordinates.. The problem I having is an error that reads:

File "C:\Users\Husam\if loop test.py", line 17, in showData
if box_pos[0]==3 and pos[1] == 4.0 and pos[2] == -5.0:
TypeError: 'float' object is not subscriptable

But, if go through and check each box_pos[0] - box_pos[2] individually the loop works. I only get the error when I codes is as follows:


import viz
import vizact
import vizshape
viz.go()

box = vizshape.addBox([1,1,1],splitFaces=True,pos=(3.0,4.0,-5.0))
box_pos = box.getPosition(viz.ABS_GLOBAL)



def showData():
for number in range(5):
for pos in box_pos:
if box_pos [0]== 3.0 and pos[1] == 4.0 and pos[2] == -5.0:
print box_pos, 'The Box is connected properly move to next connection'
else:
print box_pos
vizact.ontimer(3,showData)

Please help!!!
Reply With Quote