每 'n' 次迭代暂停循环并等待用户按键。 - Python
Pause for loop and wait for user key press every 'n' iterations. - Python
我的 for 循环看起来像这样:
for trial in trials:
stim.text = trial[0]
stim.color = trial[1]
win.flip()
isi = random.random() * 2.0
core.wait(isi)
stim.draw()
event.clearEvents()
displaytime = win.flip()
keys = event.waitKeys(keyList=answer_keys.keys(), timeStamped=True)
rt = keys[0][1] - displaytime
trialNum +=1
if trial[0] == trial[1]:
condition = 'congruent'
elif trial[0] != trial[1]:
condition = 'incongruent'
logfile.write('{},{},{},{},{},{:.3f}\n'.format(trialNum, trial[0], trial[1], condition, keys[0], rt))
我想要做的是在给定的迭代次数处暂停 for 循环并等待用户按键继续。
因此,如果我提供值 5,这将每 5 次迭代暂停一次循环。
如有任何问题或需要信息,请告诉我。非常感谢所有帮助。
您可以使用 input
内置函数达到您想要的迭代次数:
input("Press Enter to continue...")
假设您希望在 n
次迭代中暂停:
n = 7
for i in range(1, 20):
if i % n == 0:
input("Press Enter to continue...")
如果您遍历包含不同类型元素的列表:
for i, e in enumerate(my_list):
if i % n == 0:
input("Press Enter to continue...")
... other code...
我的 for 循环看起来像这样:
for trial in trials:
stim.text = trial[0]
stim.color = trial[1]
win.flip()
isi = random.random() * 2.0
core.wait(isi)
stim.draw()
event.clearEvents()
displaytime = win.flip()
keys = event.waitKeys(keyList=answer_keys.keys(), timeStamped=True)
rt = keys[0][1] - displaytime
trialNum +=1
if trial[0] == trial[1]:
condition = 'congruent'
elif trial[0] != trial[1]:
condition = 'incongruent'
logfile.write('{},{},{},{},{},{:.3f}\n'.format(trialNum, trial[0], trial[1], condition, keys[0], rt))
我想要做的是在给定的迭代次数处暂停 for 循环并等待用户按键继续。
因此,如果我提供值 5,这将每 5 次迭代暂停一次循环。
如有任何问题或需要信息,请告诉我。非常感谢所有帮助。
您可以使用 input
内置函数达到您想要的迭代次数:
input("Press Enter to continue...")
假设您希望在 n
次迭代中暂停:
n = 7
for i in range(1, 20):
if i % n == 0:
input("Press Enter to continue...")
如果您遍历包含不同类型元素的列表:
for i, e in enumerate(my_list):
if i % n == 0:
input("Press Enter to continue...")
... other code...