0461 - Timp1
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
<syntaxhighlight lang="python" line="">
- 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
def main():
h1 = int(input("Introduceti ora curenta (ora): ")) m1 = int(input("Introduceti ora curenta (minute): ")) x = int(input("Introduceti numarul de ore peste care sa calculam ora urmatoare: ")) y = int(input("Introduceti numarul de minute peste care sa 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.")
if __name__ == '__main__':
main()
</syntaxhighlight>