Обратный отсчет

Reversed не работает с int.
Подскажите как правильно сделать.
1 2 3 4 5 6 7 8 9 10 11
import time time_count = int(input('Время до запуска: ')) time_temp = 0 while time_temp time_count: for i in reversed(time_count): print('Осталось %d секунд' % i) time.sleep(1) print('Пуск. ')
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Обратный отсчет.
Производим серию последовательных пусков космических аппаратов (в действительности так обычно не.
Обратный отсчёт
Можете объяснить как работает %d в данной программе roc = int(input()) t = 1 sec= 1 while t <=.
Обратный отсчет
Любопытно, что впервые обратный отсчёт перед запуском ракеты был использован в немом.
Обратный отсчёт
Любопытно, что впервые обратный отсчёт перед запуском ракеты был использован в немом.
Просто Лис
![]()
5442 / 3362 / 1024
Регистрация: 17.05.2012
Сообщений: 9,848
Записей в блоге: 9
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#!/usr/bin/env python3 import time time_count = 30 for i in range(-time_count, 0): print('Осталось %d секунд' % -i) time.sleep(1) print('Пуск. ') for i in range(time_count): print('Осталось %d секунд' % time_count-i) time.sleep(1) print('Пуск. ')
Добавлено через 1 минуту
Правильный вариант:
1 2 3 4 5 6 7 8 9
#!/usr/bin/env python3 import time time_count = 5 for i in range(time_count, 0, -1): print('Осталось %d секунд' % i) time.sleep(1) print('Пуск. ')
Регистрация: 15.10.2015
Сообщений: 112
А можно сделать так, чтобы time_count вводился через input?
Просто Лис
![]()
5442 / 3362 / 1024
Регистрация: 17.05.2012
Сообщений: 9,848
Записей в блоге: 9
Можно, разрешаю.
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Обратный отсчет
Дано целое положительно число n. Выведите все целые числа от n до 0 включительно. Какое решение.

Обратный отсчёт времени
Здравствуйте друзья, имеется код где при введении пользователя «время» показывается время в формате.

Обратный отсчёт: серия пусков
Ограничение времени 1 секунда Ограничение памяти 64Mb Ввод стандартный ввод или input.txt.

Отсчёт 10 секунд в одной строке
Привет, как сделать так, чтобы отсчёт 10 секунд был в одной строке, а не в 10? Чтобы одна строка.

Отсчет времени от одной функции в другую
Есть 2 функции в первой отсчитывается начальное время, во второй конечное время, также нужно во.

Найти порядковый номер даты, начиная отсчет с начала года
Помогите, пожалуйста, решить задачу. Заданы три натуральных числа a, b, c, которые обозначают.
Или воспользуйтесь поиском по форуму:
обратный отсчёт на python
мне нужен «большой» таймер, чтобы один раз написать в коде, через сколько секунд должно сработать действие. допустим, я сконвертил большой промежуток во времени и вставил в таймер. и он будет напоминать сколько осталось в секундах даже после того, как я перезайду в программу. он должен мне показывать остаток в секундах и обновляться каждую секунду(просто писать остаток в консоли каждую секунду). (этот промежуток чуть больше 1 года!) я знаю что можно для таких случаев использовать модуль time, но не понимаю как. это возможно?
Отслеживать
задан 17 фев 2023 в 13:09
3 2 2 бронзовых знака
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Да вообще легко через питон)
import time # установка таймера на 1 год (365 дней) duration = 365 * 24 * 60 * 60 # в секундах # время старта таймера start_time = time.time() while True: # вычисляем сколько секунд осталось до окончания таймера remaining_time = duration - (time.time() - start_time) # выводим оставшееся время в консоль print(f"Осталось секунд.") # ждем одну секунду time.sleep(1) # если время вышло, то выходим из бесконечного цикла if remaining_time
тут таймер ровно на 365 дней, если нужно большее кол-во дней, то увеличь
Отслеживать
ответ дан 17 фев 2023 в 13:12
Aleksandr Fetisov Aleksandr Fetisov
1,286 1 1 золотой знак 2 2 серебряных знака 14 14 бронзовых знаков
спасибо! таймер отслеживает. спасибо, работает!
17 фев 2023 в 13:29
если помог, отметь ответ)
17 фев 2023 в 13:30
да, спасибо. только если перезайти не сохраняется(
17 фев 2023 в 13:34
для этого можно pickle использовать или import atexit def save_remaining_time(): with open('remaining_time.pkl', 'wb') as f: pickle.dump(remaining_time_seconds, f) # Сохранение оставшегося времени при закрытии программы atexit.register(save_remaining_time)
Create a Countdown Timer in Python

This tutorial introduces how to create a countdown timer in Python.
The code accepts an input of how long the countdown should be and will start the countdown immediately after the input is entered.
Using the time Module and the sleep() Function to Create a Countdown Timer in Python
The time module is a general Python module containing time-related utility functions and variables. The main function used in this tutorial is the sleep() function, which is an asynchronous function that suspends the execution of a single thread for n seconds.
If your program is single-threaded, which is the case for this tutorial, then the sleep() function will stop the whole program from running until the elapsed time given has been reached. With this, along with validated user input, we can create a simple countdown timer in Python.
The first thing to do is import the time module to use the sleep() function.
import time
Then declare a function to act as the countdown timer. Let’s call this function countdown() . The function will accept a single parameter: the number of seconds ( num_of_secs ) the timer will count down to.
The num_of_secs variable will be continuously decremented in a loop until it reaches 0 (which translates to False and ends the loop without any extra condition).
Within the loop, format the input variable num_of_secs into MM:SS format and print it out every time it decrements. To do this, use the built-in Python function divmod() , which accepts two numbers and returns the product and the remainder of the two numbers, respectively. Then format the tuple result of divmod() into MM:SS format using the built-in string function format() .
def countdown(num_of_secs): while num_of_secs: m, s = divmod(num_of_secs, 60) min_sec_format = " : ".format(m, s)
formats the argument into a 2-digit integer (because of the symbol 02d ). If the integer is less than 2 digits, it will add leading 0 ’s to it.
Next, with each iteration of the loop, call time.sleep(1) , which means it delays each iteration for 1 second and will continue after elapsing.
Before calling the sleep() function, print out the formatted string that resembles the MM:SS format of the current value of the input variable num_of_secs .
Also, add another argument within the print() function with the property end and the value /r , which is a new line to imitate the behavior of an actual timer. This argument overwrites the previous print() output each time the loop is executed, overwriting everything before the carriage return is denoted by the symbol /r .
def countdown(num_of_secs): while num_of_secs: m, s = divmod(num_of_secs, 60) min_sec_format = " : ".format(m, s) print(min_sec_format, end="/r") time.sleep(1) num_of_secs -= 1 print("Countdown finished.")
Afterward, decrement the input variable min_sec_format by 1 after all the prior lines have been executed.
Finally, print out a concluding statement outside the loop that denotes that the timer is done executing. It concludes the countdown() method and will function as a countdown timer.
The next thing to do is provide a way for the user to input the number of seconds to trigger the countdown. For this, we can use the built-in input() function to accept user input.
Catch the input into a variable and use it as an argument for the countdown function. Make sure to cast the input variable to int for validation.
inp = input("Input number of seconds to countdown: ") countdown(int(inp))
The entire code should look like this:
import time def countdown(num_of_secs): while num_of_secs: m, s = divmod(num_of_secs, 60) min_sec_format = " : ".format(m, s) print(min_sec_format, end="/r") time.sleep(1) num_of_secs -= 1 print("Countdown finished.") inp = input("Input number of seconds to countdown: ") countdown(inp)
Countdown finished.
The final output would display Countdown Finished , but will imitate how a timer works and clear each print() line until it reaches 00:00 .
So if you’d input 5 seconds, the stack trace would look like this:
00:05 00:04 00:03 00:02 00:01 Countdown finished.
There you have it. You now have successfully created a simple countdown timer in Python using just built-in functions and the sleep() function from the time module.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
Related Article - Python Timer
mahenzon / PyQt5_QTimer.md
Иногда при разработке приложений необходимо отложить действие на определенный срок. При этом зачастую отслеживать исполнение нет необходимости. Рассмотрим пример отложенного действия на PyQt5 при помощи QTimer , для этого создадим простейший таймер обратного отсчёта без возможности прерывания.
Для этого добавляем на интерфейс приложения QLCDNumber - на нем мы будем отображать текущее значение, QSlider - при помощи него мы будем устанавливать желаемое значение и кнопку QPushButton для запуска таймера.
Полный листинг программы приведен ниже (с расстановкой элементов и подключением слотов к сигналам), а сейчас я опишу суть:
- По нажатию кнопки Start отрабатывается метод start_btn_clicked . Для того, чтобы случайно не изменить значение и не нарушить выполнение текущего отсчёта, мы отключаем слайдер и кнопку старта ( self.toggle_btns(False) ), а затем запускаем сам таймер методом tick_timer .
- Внутри метода tick_timer мы получаем текущее значение на экране lcd_value = self.lcd.value() и проверяем, достигло ли оно нуля. Если значение больше, то отнимаем от него единицу (у нас отсчёт идет в секундах) и создаем экземпляр QTimer , на котором сразу вызываем метод singleShot : QTimer().singleShot(1000, self.tick_timer) . Он создаёт фоновый процесс с обратным отсчётом. Первое значение передаем время, через которое таймер должен сработать (в миллисекундах), а второй параметр - функция, которая должна быть вызвана по окончанию. Передаём туда tick_timer , чтобы достичь нуля на дисплее
- Как только мы достигли нуля на дисплее, включаем кнопки обратно self.toggle_btns() , а на дисплей устанавливаем значение со слайдера (то значение, с которого мы начали отсчёт в прошлый раз) self.lcd.display(self.slider.value())
Вот и всё, таким образом мы сделали самый простой таймер на PyQt5.

Полный листинг программы:
import sys from PyQt5.QtCore import Qt, QTimer from PyQt5.QtWidgets import QWidget, QApplication, \ QLCDNumber, QSlider, QVBoxLayout, QHBoxLayout, QPushButton class MainWindow(QWidget): def __init__(self): super().__init__() self.lcd = QLCDNumber(self) # Устанавливаем значение по умолчанию на дисплей self.lcd.display(1) self.slider = QSlider(Qt.Horizontal, self) # Устанавливаем минимальное и максимальное значение self.slider.setMinimum(1) self.slider.setMaximum(90) self.slider.valueChanged.connect(self.lcd.display) self.start_btn = QPushButton('Start', self) self.start_btn.clicked.connect(self.start_btn_clicked) self.toggle_btns() hbox = QHBoxLayout() hbox.addWidget(self.slider) hbox.addWidget(self.start_btn) vbox = QVBoxLayout() vbox.addWidget(self.lcd) vbox.addLayout(hbox) self.setLayout(vbox) self.setWindowTitle('Timer PyQt5') self.resize(400, 300) def toggle_btns(self, value=True): self.slider.setEnabled(value) self.start_btn.setEnabled(value) def start_btn_clicked(self): # Отключаем слайдер и кнопку старта self.toggle_btns(False) # запускаем отсчет self.tick_timer() def tick_timer(self): # Получаем значение на LCD виджете lcd_value = self.lcd.value() if lcd_value > 0: # Устанавливаем значение на 1 меньше self.lcd.display(lcd_value - 1) # Засекаем таймер - значение в милисекундах # метод singleShot создает поток в фоне, отменить его нельзя QTimer().singleShot(1000, self.tick_timer) else: # Значение дисплея стало 0 # Включаем элементы интерфейса обратно self.toggle_btns() # Устанавливаем на дисплей выбранную на слайдере настройку self.lcd.display(self.slider.value()) if __name__ == '__main__': app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_())