#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 07: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
|
Thread Tools | |
Display Modes | Rate This Thread |
|
|