## On time for the exam

Здравейте,

не мога да хвана в това решение защо има 93 от сто :(

Ако някой има идея - ще се радвам на помощ. Реших я и по друг начин, но тук ме дразни че не виждам.

```exam_hours = int(input())
exam_minutes = int(input())
arrival_hours = int(input())
arrival_minutes = int(input())

total_exam_min = exam_hours * 60 + exam_minutes
total_arrival_min = arrival_hours * 60 + arrival_minutes
hours_left = 0
min_left = 0

diff = abs(total_exam_min - total_arrival_min)

if total_arrival_min > total_exam_min:
print("Late")
if diff >= 60:
hours_left = diff // 60
min_left = diff % 60
if min_left < 10:
print(f"{hours_left}:0{min_left} hours after the start")
else:
print(f"{hours_left}:{min_left} hours after the start")
else:
if diff < 10:
print(f"0{diff} minutes after the start")
else:
print(f"{diff} minutes after the start")
elif total_arrival_min == total_exam_min:
print("On time")

elif total_arrival_min < total_exam_min:
if diff <= 30:
print("On time")
print(f"{diff} minutes before the start")
else:
if diff >= 60:
hours_left = diff // 60
min_left = diff % 60
if min_left < 10:
print("Early")
print(f"{hours_left}:0{min_left} hours before the start")
else:
print("Early")
print(f"{hours_left}:{min_left} hours before the start")
else:
print("Early")
print(f"{diff} minutes before the start")```
Тагове:
0
mark79 633 Точки

Здравей,

ето едно малко по-кратко решение ..

``````exam_hour = int(input())
exam_minute = int(input())
arrive_hour = int(input())
arrive_minute = int(input())

exam_total_minutes = exam_hour * 60 + exam_minute
arrive_total_minutes = arrive_hour * 60 + arrive_minute

if arrive_total_minutes > exam_total_minutes:
print("Late")
elif exam_total_minutes - arrive_total_minutes <= 30:
print("On time")
else:
print("Early")

result = abs(exam_total_minutes - arrive_total_minutes)
if exam_total_minutes - arrive_total_minutes > 0:
if result < 60:
print(f"{result} minutes before the start")
else:
print(f"{result // 60}:{result % 60:02d} hours before the start")
elif arrive_total_minutes - exam_total_minutes > 0:
if result < 60:
print(f"{result} minutes after the start")
else:
print(f"{result // 60}:{result % 60:02d} hours after the start")``````

Поздрави :)

0

Благодаря :)

Аз я реших по друг начин...интересно ми беше тук къде бъркам, понеже не виждам. Дава ми 93 от 100.

0
mark79 633 Точки

Здравей,

просто показах друг подход, заради многото код, които се повтаряше при теб.

Поздрави :)

0
05/10/2019 20:34:52
omnilog 3 Точки

Вероятно комичен въпрос, но каква е ролята на оцветеното от кода {result % 60:02d}?

0
mark79 633 Точки

Здравей,

това указва форматирането да е цяло число и задължително да има два знака, т.е. да има водеща нула отпред, ако числото е по-малко от 10.

Поздрави :)

0
ivanova.milena 0 Точки

Решението ви е страхотно - много леко и разбираемо!

0