Найти - Пользователи
Полная версия: Управление циклами
Начало » Python для новичков » Управление циклами
1
AleksAleks
Всем здравствуйте! Вопрос такой. Есть некая последовательная обработка, реализованная с помощью цикла for. Как средствами tkinter реализовать произвольную приостановку выполнения цикла (по нажатию на кнопку), и потом возобновление этого цикла (по нажатию на кнопку)? Буду благодарен примеру кода.
py.user.next
AleksAleks
Есть некая последовательная обработка, реализованная с помощью цикла for. Как средствами tkinter реализовать произвольную приостановку выполнения цикла (по нажатию на кнопку)
Запусти вот такой код и посмотри, как цикл притормаживается, пока идут секунды 7 8 9.
  
import time
 
def get_flag():
    return int(time.time() % 10) > 6
 
for i in 'abcdefghijklmnopqrstu':
    while get_flag():
        pass
    print(i)
    time.sleep(1)
Нажатие на кнопку в Tkinter может в такой функции переключать состояние переменной в объекте с истины на ложь и со лжи на истину. Так цикл может определять, можно ли выполняться дальше или продолжать ждать.

В любом случае тебе нужно пересмотреть реализацию. Цикл for не подходит для подобной функциональности. Если ты его используешь в таком случае, то это не очень оптимально. Лучше сделать итератор и управлять им без всякого цикла for.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB