0461 - Timp1
De la Universitas MediaWiki
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.")