Эта статья покажет вам, как создать простую программу обратного отсчета с помощью языка программирования Python. Это хорошее упражнение для новичка, который хочет узнать о циклах и модулях while. Однако вы должны уже иметь некоторое представление об основных концепциях Python, таких как переменные, чтобы понять это.
Смотрите игру Кардиналов в прямом эфире онлайн бесплатно
Вам также необходимо установить Python 3. Если вы еще этого не сделали, прежде чем продолжить, следуйте инструкциямКак установить Python.
Шаги
- один Откройте свой текстовый редактор или IDE. В Windows самый простой вариант - использовать IDLE, который устанавливается вместе с Python.
- 2 Откройте новый файл. Во многих текстовых редакторах это можно сделать, перейдя в меню файла и щелкнув Новое окно, или просто нажав Ctrl + N .
- 3 Импортируйте
time
модуль.time
содержит множество функций Python, связанных со временем, например получение текущего времени или ожидание определенного количества времени (последнее - то, что вам понадобится для этой программы). Чтобы импортировать модуль, введите:countdown
- 4 Определите функцию обратного отсчета. Вы можете дать функции любое имя, но обычно вы должны использовать что-нибудь описательное. В этом случае вы можете назвать это обратным отсчетом (). Добавьте следующий код:
sleep
- 5 Напишите цикл while. Цикл while повторяет код внутри себя до тех пор, пока его условие истинно. В этом случае вы хотите, чтобы обратный отсчет продолжался до тех пор, пока число не достигнет 0. Итак, вам нужно написать:
time
- Обратите внимание на пробелы в начале строки. Они сообщают Python, что эта строка кода является частью определения
input()
функция, а не какой-то код под ней. Вы можете использовать любое количество пробелов, но вам нужно использовать такое же количество перед любой строкой, для которой вы хотите сделать отступ один раз. - Вам нужно будет дважды сделать отступ для следующих строк кода, потому что они являются частью определения функции и частью цикла while. Это достигается за счет использования вдвое большего количества пробелов.
- Обратите внимание на пробелы в начале строки. Они сообщают Python, что эта строка кода является частью определения
- 6 Распечатайте текущий номер. Это не означает использование принтера для печати на бумаге. Слово «печать» означает «отображение на экране». Это позволит вам увидеть, как далеко продвинулся обратный отсчет.
countdown()
- 7 Подсчитайте число. Сделайте на 1 меньше. Это делается с помощью следующего кода:
countdown()
В качестве альтернативы, если вы не хотите так много печатать, вы можете вместо этого написать:import time
- 8 Заставьте программу подождать секунду. В противном случае он будет вести обратный отсчет чисел слишком быстро, и обратный отсчет закончится раньше, чем вы сможете его прочитать. Чтобы подождать секунду, используйте
def countdown ( t ):
функцияwhile t > 0 :
модуль, который вы ранее импортировали:print ( t )
- 9 Сделайте что-нибудь, когда обратный отсчет достигнет нуля. Чтобы распечатать 'BLAST OFF!' когда обратный отсчет достигнет нуля, добавьте эту строку:
t = t - 1
- Обратите внимание, что эта строка только с отступом один раз . Это потому, что он больше не является частью цикла while. Этот код запускается только после завершения цикла while.
- 10 Спросите пользователя, с какого числа начинать обратный отсчет. Это даст вашей программе некоторую гибкость, вместо того, чтобы всегда считать с одного и того же числа.
- Распечатайте вопрос пользователю. Им нужно знать, во что они должны войти.
t -= 1
- Получите ответ. Сохраните ответ в переменной, чтобы вы могли что-то с ним сделать позже.
time . sleep ( 1 )
- Хотя ответ пользователя не является целым числом, попросите пользователя указать другое целое число. Вы можете сделать это с помощью цикла while. Если первый ответ уже является целым числом, программа не войдет в цикл и просто перейдет к следующему коду.
print ( 'BLAST OFF!' )
- Теперь вы можете быть уверены, что пользователь ввел целое число. Однако он по-прежнему хранится внутри строки (
print ( 'How many seconds to count down? Enter an integer:' )
всегда возвращает строку, потому что не может знать, введет ли пользователь текст или числа). Вам нужно преобразовать его в целое число:seconds = input ()
Если бы вы попытались преобразовать строку, содержимое которой не является целым числом, в целое число, вы получите сообщение об ошибке. По этой причине программа сначала проверила, был ли ответ целым числом.
- Распечатайте вопрос пользователю. Им нужно знать, во что они должны войти.
- 11 Позвоните в
while not seconds . isdigit (): print ( 'That wasn't an integer! Enter an integer:' ) seconds = input ()
функция. Вы уже определили его ранее, но определение функции не влияет на то, что в ней написано. Чтобы запустить код обратного отсчета, вызовитеseconds = int ( seconds )
функция с количеством секунд, введенных пользователем:countdown ( seconds )
- 12 Проверьте готовый код. Должно получиться так:
import time def countdown ( t ): while t > 0 : print ( t ) t -= 1 time . sleep ( 1 ) print ( 'BLAST OFF!' ) print ( 'How many seconds to count down? Enter an integer:' ) seconds = input () while not seconds . isdigit (): print ( 'That wasn't an integer! Enter an integer:' ) seconds = input () seconds = int ( seconds ) countdown ( seconds )
- Пустые строки нужны только для облегчения чтения кода. Они не требуются, и Python фактически игнорирует их.
- Вы можете написать t = t - 1 вместо t - = 1, если хотите.
Вопросы и ответы сообщества
Поиск Добавить новый вопрос- Вопрос Как мне заставить его печатать каждую секунду вместо того, чтобы печатать все сразу? Используйте функцию time.sleep (x). Это позволяет программе приостанавливаться на x секунд. После каждого оператора печати вставляйте time.sleep (1).
- Вопрос Как увеличить шрифт в Python на Mac? В оболочке Python щелкните Параметры, Настроить, Режим ожидания. Оттуда вы можете изменить размер шрифта.
- Вопрос: Зачем нужен модуль «время», если он никогда не использовался? Если вы напишете программу, скажем, для робота и у вас будет сервоуправление в миллисекундах, тогда он будет использовать модуль времени для отправки электрического сигнала в течение нужного промежутка времени.
- Вопрос. Я получаю следующую ошибку: «Ожидается блок с отступом». Что я сделал не так? Вам нужно нажать клавишу «Tab», чтобы сделать отступ, если бы вы выполняли цикл «if». вы бы сделали: if a = b: print ('Отступ - это пробел перед печатью')
- Вопрос: Я хочу напечатать время на видеоэкране. Что я должен делать? Я предполагаю, что вы имеете в виду графическое окно Python Turtle. Если я прав, вам следует использовать функцию write () вместо print (). Тогда вам нужно будет добавить clear (), потому что write () не изменяет строки автоматически. В противном случае вы можете изменить положение своей черепахи. Чтобы использовать функцию write (), вы также должны добавить from turtle import *.
- Вопрос: Я использую LiClipse и при загрузке кода он загружается, но ничего не происходит. Отступы в порядке, и единственное, что я изменил, это изменение переменной n на a. Проверьте синтаксические ошибки, чаще всего точка с запятой в конце всех необходимых этапов, и убедитесь, что ваша ОС, драйверы и Python обновлены до последней версии. Также может быть полезно проверить брандмауэр и посмотреть, не блокирует ли он интерфейс.
- Вопрос Как я могу остановить или прервать обратный отсчет? Используя ключевое слово break. Например, если вы хотите начать обратный отсчет, но хотите остановить его на полпути, вы можете попробовать что-то вроде этого: i = 10, а i<10: print(i) i -= 1 if i == 5 break print('done')
- Вопрос Как мне создать таймер, который выдает случайное число по прошествии заданного времени в Python? Первый случайный импорт. Затем вы можете добавить эту строку после кода: random.choice (1,2,3,4,5,6,7,8,9).
- Вопрос Как запустить фоновый таймер в викторине? Невидимый В Python это сложно сделать. Для этого вам следует использовать потоки: def смеется: while True: print ('Haha') thread1 = threading (смеется) thread1.start ()
- Что, если я хочу, чтобы он отсчитывал дни в определенном часовом поясе? E. I. Каждую пятницу с 17:00 до + 1 до понедельника с 17:00 до + 1? Ответ
- Как лучше всего я могу выучить питон за 30 дней? Ответ
- Что, если я хочу, чтобы это был графический интерфейс? Ответ
Реклама