Я недавно закончил курс в Python около месяца назад. Я продолжаю расширять свои знания на Python, создавая программы.Проблема с программой обратного отсчета Python
Код ниже представляет собой программу для программы обратного отсчета Python. Что делает программа, так это то, что она запрашивает у пользователя количество секунд, минут и часов.
В любом случае, я заметил 2 ошибки, которые встречаются в программе.
Первая ошибка: Если мы вступаем в час и второй счетчик (и не количества минут), программа будет рассчитывать оставшееся время для этого определенного часа, но это не будет вычитать час и установить минуты назад 59. Вместо этого он печатает минуту как отрицательное число.
Вторая ошибка: Если мы введем час, секунду и минуту, программа рассчитает время повторного использования. Но когда программа дойдет до последней минуты (т.е. 01:00:59), она пропустит эту минуту и перейдет к следующей (то есть 00:59:59).
О 2-й ошибке: предположим, что я ввожу 1 час, 1 минута, 5 секунд. Он будет отсчитывать 5 секунд. Затем компьютер выйдет 1:00:00. Вместо того, чтобы подсчитывать секунды за эту определенную минуту. Он пропустит до 0:59:59. Надеюсь, что поможет Было бы замечательно, если бы я мог получить некоторую помощь в исправлении этих двух ошибок и, возможно, в том, чтобы по-разному форматировать программу.
Спасибо за чтение и я с нетерпением жду вашего ответа, -Anonymous
import time
time_count = 0
second = int(raw_input("Seconds:"))
count_minute = int(raw_input("Minutes:"))
count_hour = int(raw_input("Hours:"))
time_count += second
time_count += count_minute * 60
time_count += count_hour * 3600
def clean():
global second
global count_minute
global count_hour
print_second = str(second).zfill(2)
print_minute = str(count_minute).zfill(2)
print_hour = str(count_hour).zfill(2)
print "%s:%s:%s" % (print_hour, print_minute, print_second)
time.sleep(1)
clean()
time.sleep(1)
for i in range(1, time_count + 1)[::-1]:
if second == 0 and count_minute == 0 and count_hour == 0:
clean()
break
elif second != 0:
second -= 1
elif second == 0:
count_minute -= 1
second = 59
if count_minute == 0 and count_hour > 0:
clean()
count_hour -= 1
count_minute = 59
clean()
time.sleep(1)
print """
Timer Finished.
"""
Не могли бы вы снять ненужный код (например, форматирование и вывод визуальных линий), чтобы SO-помощники могли больше сосредоточиться на вашей реальной проблеме/вопросе? – woozyking
Итак, вы имеете в виду, что «Джейкоб Коднер» - это ваш псевдоним, Аноним? Смутно! –
Когда дело доходит до форматирования вашей программы, вы должны, вероятно, задать вопрос здесь: http://codereview.stackexchange.com/ –