Так как Python не использует скобки / фигурные скобки для отслеживания блоков, как в некоторых других языках (C ++, Java, et c.), Он очень требователен к отступам. Как написан ваш код, весь return_time()
равен
def return_time(hour, minutes):
time = ""
, поскольку следующая после этого строка не имеет отступа. Это простое исправление.
def return_time(hour, minutes):
time = ""
if hour < 10: # stay indented!
time += "0" + str(hour)
else:
time += str(hour)
time += ":"
if minutes < 10:
time += "0" + str(minutes)
else:
time += str(minutes)
return time
Кроме того, как прокомментировал @IronMan, эту конкретную функцию довольно легко реализовать в одной строке с f-строкой.
def return_time(hour, minutes):
return f"{hour:02d}:{minutes:02d}"
An f-строка (обозначенная f
перед кавычками) оценивает переменные в фигурных скобках и перед :
и преобразует их в строку. Текст после :
описывает формат, который в данном случае представляет собой «ровно две цифры, которым предшествует 0, если меньше двух цифр».
Возможно, вас также заинтересует time.strftime()
.