I'm brand new to Python (psychoPy) and I have this script that I want it to repeat three times:
i = 0
while i < 4:
import random
win.setMouseVisible(False)
this_target = random.choice(first)
if this_target == 1:
k = 0
location = []
tloc = random.randint(0, 7)
tloc = str(tloc)
location.append(tloc)
gap.setPos(left_gap[tloc, : ])
squarer.setPos(ranpos[tloc, : ])
squarer.draw()
gap.draw()
while k < 4:
loc = random.randint(0, 7)
loc = str(loc)
if loc not in location: location.append(loc)
else:
continue
squareg.setPos(ranpos[loc, : ])
squareg.draw()
dist_side = random.randint(1, 2)
if dist_side == 1:
gap.setPos(left_gap[loc, : ])
gap.draw()
elif dist_side==2:
gap.setPos(right_gap[loc, : ])
gap.draw()
k+=1
elif this_target == 2:
k = 0
location = []
tloc = random.randint(0, 7)
tloc = str(tloc)
location.append(tloc)
gap.setPos(right_gap[tloc, : ])
squareg.setPos(ranpos[tloc, : ])
squareg.draw()
gap.draw()
while k < 4:
loc = random.randint(0, 7)
loc = str(loc)
if loc not in location: location.append(loc)
else:
continue
squarer.setPos(ranpos[loc, : ])
squarer.draw()
dist_side = random.randint(1, 2)
if dist_side == 1:
gap.setPos(left_gap[loc, : ])
gap.draw()
elif dist_side==2:
gap.setPos(right_gap[loc, : ])
gap.draw()
k+=1
win.flip()
resp = event.waitKeys(keyList = ['z', 'm', 'q'])
fix.draw()
win.flip()
core.wait(2) #accio
this_target = random.choice(first)
if this_target == 1:
k = 0
location = []
tloc = random.randint(0, 7)
tloc = str(tloc)
location.append(tloc)
gap.setPos(left_gap[tloc, : ])
squarer.setPos(ranpos[tloc, : ])
squarer.draw()
gap.draw()
while k < 4:
loc = random.randint(0, 7)
loc = str(loc)
if loc not in location: location.append(loc)
else:
continue
squareg.setPos(ranpos[loc, : ])
squareg.draw()
dist_side = random.randint(1, 2)
if dist_side == 1:
gap.setPos(left_gap[loc, : ])
gap.draw()
elif dist_side==2:
gap.setPos(right_gap[loc, : ])
gap.draw()
k+=1
elif this_target == 2:
k = 0
location = []
tloc = random.randint(0, 7)
tloc = str(tloc)
location.append(tloc)
gap.setPos(right_gap[tloc, : ])
squareg.setPos(ranpos[tloc, : ])
squareg.draw()
gap.draw()
while k < 4:
loc = random.randint(0, 7)
loc = str(loc)
if loc not in location: location.append(loc)
else:
continue
squarer.setPos(ranpos[loc, : ])
squarer.draw()
dist_side = random.randint(1, 2)
if dist_side == 1:
gap.setPos(left_gap[loc, : ])
gap.draw()
elif dist_side==2:
gap.setPos(right_gap[loc, : ])
gap.draw()
k+=1
win.flip()
resp = event.waitKeys(keyList = ['z', 'm', 'q'])
i+=1
next_trial.draw()
win.flip()
event.waitKeys(keyList = ['space'])
if resp == ['q']:
core.quit()
win.close()
begin.draw()
win.flip()
event.waitKeys(keyList = ['space'])
Is there a script I can just add to the beginning to because it to repeat?
why can't you enclose it all in a for loop? - probably want to change the position of the import though...