每 '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...