Пауза для l oop и ждать нажатия клавиши пользователя каждые 'n' итераций. - Python - PullRequest
1 голос
/ 23 февраля 2020

У меня есть для l oop, который выглядит следующим образом:

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))

я хочу сделать паузу для l oop на заданном количестве итераций и ждать нажатия клавиши пользователя. продолжать.

Так что, если я введу значение 5, это будет приостанавливать l oop каждые 5 итераций.

Больше вопросов или информации требуется, дайте мне знать. Вся помощь очень ценится.

1 Ответ

2 голосов
/ 23 февраля 2020

Вы можете использовать input встроенную n-функцию при желаемом количестве итераций:

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