Loading...

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 avatar mark79 639 Точки

Здравей,

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

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 avatar mark79 639 Точки

Здравей,

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

Поздрави :)

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

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

0
mark79 avatar mark79 639 Точки

Здравей,

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

Поздрави :)

0
ivanova.milena avatar ivanova.milena 0 Точки

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

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.