0461 - Timp1

De la Universitas MediaWiki
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

Cerința

Se dau numerele naturale h m, reprezentând ora curentă exprimată în ore şi minute. Să se determine care va fi ora peste x ore şi y minute.

Date de intrare

Programul citește de la tastatură numerele h1 m1 x y.

Date de ieșire

Programul afișează pe ecran numerele h2 m2, separate printr-un spaţiu, cu semnificaţia din enunţ.

Restricții și precizări

  • 0 ≤ h1, h2 ≤ 23;
  • 0 ≤ m1, m2, y ≤ 59;
  • 0 ≤ x ≤ 10000;

Exemplul 1

Intrare
7 11 5 34
Ieșire
Datele de intrare corespund restricțiilor impuse.
12 45

Exemplul 2

Intrare
-1 -1 -1 -1
Ieșire
Datele de intrare nu corespund restricțiilor impuse.

Rezolvare

#0461 - Timp1
def determina_ora_urmatoare(h1, m1, x, y):
    # adaugam minutele
    minute = m1 + y
    # adaugam orele si minutele ramase
    ore = h1 + x + minute // 60
    minute = minute % 60
    # daca am depasit 24 de ore, revenim la 0 si continuam
    if ore >= 24:
        ore = ore % 24
    return ore, minute

if __name__ == '__main__':
    h1 = int(input("Introduceți ora curentă (ora): "))
    m1 = int(input("Introduceți ora curentă (minute): "))
    x = int(input("Introduceți numărul de ore peste care să calculăm ora următoare: "))
    y = int(input("Introduceți numarul de minute peste care să calculam ora urmatoare: "))
    if h1 >= 0 and h1 <= 23 and m1 >= 0 and m1 <= 59 and x >= 0 and x <= 10000:
        h2, m2 = determina_ora_urmatoare(h1, m1, x, y)
        print("Datele de intrare corespund restricțiilor impuse.")
        print(f"Ora urmatoare este {h2}:{m2}")
    else:
        print("Datele de intrare nu corespund restricțiilor impuse.")