0455 - Calendar1: Difference between revisions

From Bitnami MediaWiki
Am modificat codul.
No edit summary
Line 1: Line 1:


==Cerință==
==Cerință==
Se citesc 3 numere naturale ziua luna anul, reprezentând o dată calendaristică corectă, în format zi luna an. Să se afişeze data zilei următoare.
Se citesc 3 numere naturale ziua luna anul, reprezentând o dată calendaristică corectă, în format '''zi luna an'''. Să se afişeze data zilei următoare.


==Date de intrare==
==Date de intrare==
Programul citește de la tastatură numerele ziua luna anul.
Programul citește de la tastatură numerele: '''zi luna an'''.
==Date de ieșire==
==Date de ieșire==
Programul afișează pe ecran numerele ziua luna anul, separate prin exact un spaţiu, reprezentând data zilei următoare.
Programul afișează pe ecran numerele ziua luna anul, separate prin exact un spaţiu, reprezentând data zilei următoare.

Revision as of 11:32, 15 March 2023

Cerință

Se citesc 3 numere naturale ziua luna anul, reprezentând o dată calendaristică corectă, în format zi luna an. Să se afişeze data zilei următoare.

Date de intrare

Programul citește de la tastatură numerele: zi luna an.

Date de ieșire

Programul afișează pe ecran numerele ziua luna anul, separate prin exact un spaţiu, reprezentând data zilei următoare.

Restricții de precizări

  • data calendaristică citită corect

Exemplul 1

Intrare
28
2
2000
Ieșire
Datele introduse corespund restricțiilor impuse.
29
2
2000

Rezolvare ver. 1

<syntaxhighlight lang="python" line="1" start="1">

def data_zilei_urmatoare(zi, luna, an):

   if (an % 4 == 0 and an % 100 != 0) or (an % 400 == 0):
       bisect = True
   else:
       bisect = False
   zile_luna = {
       1: 31,
       2: 29 if bisect else 28,
       3: 31,
       4: 30,
       5: 31,
       6: 30,
       7: 31,
       8: 31,
       9: 30,
       10: 31,
       11: 30,
       12: 31
   }
   if zi == zile_luna[luna]:
       ziua_urmatoare = 1
       if luna == 12:
           luna_urmatoare = 1
           anul_urmator = an + 1
       else:
           luna_urmatoare = luna + 1
           anul_urmator = an
   else:
       ziua_urmatoare = zi + 1
       luna_urmatoare = luna
       anul_urmator = an


   return ziua_urmatoare, luna_urmatoare, anul_urmator

def main():

   zi = int(input("Introduceți ziua: "))
   luna = int(input("Introduceți luna: "))
   an = int(input("Introduceți anul: "))
   ziua_urmatoare, luna_urmatoare, anul_urmator = data_zilei_urmatoare(zi, luna, an)


   print("Data zilei următoare este: {} {} {}".format(ziua_urmatoare, luna_urmatoare, anul_urmator))

</syntaxhighlight>