![]()  | 
	
| 
		 
			 
			#1  
			
			
			
			
			
		 
		
	 | 
|||
		
		
  | 
|||
| 
		
	
		
		
			
			 
				
				IF statements and Lists
			 
			
			
			Hi All, 
		
		
		
		
		
		
		
		
			A very basic (I'm sure) programming question, but I am creating a list of three mouse position clicks and if one of these clicks falls within a certain range, I would like to the program to execute some commands. I'm sure this is very simple, but here is my code below... Code: 
	yield viztask.waitTime(1.0) # wait before prompt yield viztask.waitAny( [ viztask.waitButtonDown(zone1button),viztask.waitButtonDown(zone2button),viztask.waitButtonDown(zone3button),viztask.waitButtonDown(zone4button),viztask.waitButtonDown(zone5button),viztask.waitButtonDown(nonebutton)]) m_pos1 = viz.mouse.getPosition() yield viztask.waitAny( [ viztask.waitButtonDown(zone1button),viztask.waitButtonDown(zone2button),viztask.waitButtonDown(zone3button),viztask.waitButtonDown(zone4button),viztask.waitButtonDown(zone5button),viztask.waitButtonDown(nonebutton)]) m_pos2 = viz.mouse.getPosition() yield viztask.waitAny( [ viztask.waitButtonDown(zone1button),viztask.waitButtonDown(zone2button),viztask.waitButtonDown(zone3button),viztask.waitButtonDown(zone4button),viztask.waitButtonDown(zone5button),viztask.waitButtonDown(nonebutton)]) m_pos3 = viz.mouse.getPosition() m_pos = [m_pos1,m_pos1,m_pos3] grid.visible(viz.OFF) zone1button.visible(viz.OFF) zone2button.visible(viz.OFF) zone3button.visible(viz.OFF) zone4button.visible(viz.OFF) zone5button.visible(viz.OFF) nonebutton.visible(viz.OFF) if on_off == 1: stim=nv if m_pos > 0.4 and m_pos< 0.6: R = 1 stim = 0 prob_calc(R) # should be using last valid nv & R to calc next nv stop_calc() else: R = 0 stim = 0 prob_calc(R) # should be using last valid nv & R to calc next nv stop_calc() if on_off == 0: stim = 0 nulltrials = nulltrials + 1 if m_pos > 0.4 and m_pos < 0.6: falsep = falsep+1 falserate = 100*falsep/nulltrials print 'Trial:',tr,'Reversals: ', reverse, 'False pos rate:', falserate, 'M_pos1', m_pos1,'M_pos2', m_pos2,'M_pos3', m_pos3 print '--NEXT--' Thanks Last edited by new_horizon; 08-19-2011 at 08:22 AM.  | 
| 
		 
			 
			#2  
			
			
			
			
			
		 
		
	 | 
|||
		
		
  | 
|||
| 
		
	
		
		
		
		 
			
			You can create a for loop to iterate through the positions in your m_pos list. Each position is itself a list of X,Y values. For example, the following checks to see if a position is in the top right quadrant: 
		
		
		
		
		
		
		
		
	
	Code: 
	m_pos1=[0.3,0.3] m_pos2=[0.8,0.2] m_pos3=[0.8,0.8] m_pos = [m_pos1,m_pos2,m_pos3] for pos in m_pos: if pos[0] > 0.5 and pos[1] > 0.5: print pos,'is in the top right quadrant'  | 
| 
		 
			 
			#3  
			
			
			
			
			
		 
		
	 | 
|||
		
		
  | 
|||
| 
		
	
		
		
		
		 
			
			Thanks Jeff, perfect
		 
		
		
		
		
		
		
		
		
	
	 | 
![]()  | 
	
	
		
  | 
	
		
  |