Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоVK ComboВсе проекты

Перепишите пожалуйста код на более длинный (который проще понять новичку)

Nikita korkunov Ученик (224), на голосовании 6 месяцев назад
t = [list(map(int, input().split(':'))) for _ in range(4)]
t = [v[0] * 60 + v[1] for v in t]
t = (t[1] - t[0] + t[3] - t[2] + 1440 * (t[3] < t[0]) + 1) // 2
print('%02d:%02d' % (t // 60, t % 60))
Голосование за лучший ответ
Марат Хагажеев Мастер (1789) 7 месяцев назад
 array = [] 
for _ in range(4):
line = input().split(':')
for i in range(len(line)):
line[i] = int(line[i])
array.append(line)
for i in range(len(array)):
array[i] = array[i][0] * 60 + array[i][1]
n = (array[1] - array[0] + array[3] - array[2] + 1440 * (array[3] < array[0]) + 1) // 2
fisrt_num = '0' + str(n // 60) if len(str(n // 60)) == 1 else str(n // 60)
second_num = '0' + str(n % 60) if len(str(n % 60)) == 1 else str(n % 60)
print(f"{fisrt_num}:{second_num}")
Марат ХагажеевМастер (1789) 7 месяцев назад
хз, стало понятнее или нет
Тимофей КисуринУченик (213) 7 месяцев назад
хах. Хорош :)
Евгений Корнев Мастер (1192) 7 месяцев назад
Первая строка кода использует понимание списка для выполнения четырехкратной итерации и получения входных данных от пользователя. Функция ввода используется для получения входных данных от пользователя в формате "HH: ММ", а функция разделения используется для разделения входных данных на основе разделителя ":". Понимание списка повторяется 4 раза, каждый раз считывая входные данные от пользователя и сохраняя их в виде списка целых чисел.

Вторая строка кода использует другое понимание списка для преобразования списка значений времени, которые находятся в формате [HH, ММ], в список минут. Это делается путем умножения часов на 60 и добавления минут.

Третья строка кода вычисляет среднее из четырех значений времени в минутах. Это делается путем вычитания первого и второго значений времени друг из друга, добавления третьего и четвертого значений времени, а затем деления результата на 2. Он также учитывает случай, когда четвертый раз меньше, чем в первый раз, что означает, что это со следующего дня.

Четвертая строка кода преобразует среднее значение времени из минут в часы и минуты, используя оператор по модулю (%) и оператор целочисленного деления (//). Затем он форматирует выходные данные с помощью оператора форматирования строки (%), чтобы распечатать их в формате "HH: ММ". '%02d' используется для добавления начального нуля к однозначным часам и минутам.

В целом, код принимает четыре времени ввода в формате "HH: ММ" и вычисляет среднее значение этих времен, затем выводит среднее время в том же формате.
Похожие вопросы