2987 - Buletin: Difference between revisions

From Bitnami MediaWiki
No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 6: Line 6:


==Date de ieșire==
==Date de ieșire==
Programul va afișa pe ecran numărul '''A''', reprezentând anul nașterii, '''L''', reprezentând luna nașterii și '''Z''', reprezentând ziua nașterii, separate prin spații.
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul va afișa pe ecran numărul '''A''', reprezentând anul nașterii, '''L''', reprezentând luna nașterii și '''Z''', reprezentând ziua nașterii, separate prin spații. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."


==Restricții si precizări==
==Restricții și precizări==
'''n''' este un număr natural cu exact 13 cifre;
'''n''' este un număr natural cu exact 13 cifre;
'''A''', '''L''', '''Z''', vor fi afișate sub forma '''AA LL ZZ'''.
'''A''', '''L''', '''Z''', vor fi afișate sub forma '''AA LL ZZ'''.
Line 19: Line 19:


;Ieșire
;Ieșire
 
:Datele de intrare corespund restricțiilor impuse.
:07 05 21
:07 05 21


Line 28: Line 28:


;Ieșire
;Ieșire
 
:Datele de intrare corespund restricțiilor impuse.
:96 11 03
:96 11 03



Latest revision as of 17:58, 22 April 2023

Cerință[edit]

Se dă un număr natural n cu exact 13 cifre reprezentând un cod numeric personal. Să se afișeze anul, luna și ziua nașterii deținătorului.

Date de intrare[edit]

Programul citește de la tastatură numărul natural n, reprezentând codul.

Date de ieșire[edit]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul va afișa pe ecran numărul A, reprezentând anul nașterii, L, reprezentând luna nașterii și Z, reprezentând ziua nașterii, separate prin spații. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări[edit]

n este un număr natural cu exact 13 cifre; A, L, Z, vor fi afișate sub forma AA LL ZZ. Dacă unul dintre numere x este de o cifră, se va afișa sub forma 0x.

Exemplul 1[edit]

Intrare
5070521071145
Ieșire
Datele de intrare corespund restricțiilor impuse.
07 05 21

Exemplul 2[edit]

Intrare
2961103042367
Ieșire
Datele de intrare corespund restricțiilor impuse.
96 11 03

Rezolvare[edit]

Rezolvare ver. 1[edit]

<syntaxhighlight lang="python" line="1" start="1"> def validare(n):

   # Verifică dacă numărul are 13 cifre și conține doar cifre
   if len(n) != 13 or not n.isdigit():
       return False
   else:
       return True


def afisare_data(n):

   # Extrage anul, luna și ziua din numărul dat
   a = n[1:3] if len(n[1:3]) == 2 else '0' + n[1]
   l = n[3:5] if len(n[3:5]) == 2 else '0' + n[3]
   z = n[5:7] if len(n[5:7]) == 2 else '0' + n[5]
   # Afișează data în formatul specificat
   print(f"{a} {l} {z}")


if __name__ == "__main__":

   # Primește input-ul de la utilizator
   n = input("Introduceti numarul de 13 cifre: ")
   # Verifică dacă input-ul este valid și afișează rezultatul
   if validare(n):
       print("Datele de intrare corespund restricțiilor impuse.")
       afisare_data(n)
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>