0053 - Cate Impare: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
No edit summary
Paul Ungur (talk | contribs)
No edit summary
 
(One intermediate revision by the same user not shown)
Line 6: Line 6:


==Date de ieşire==
==Date de ieşire==
Programul afișează pe ecran numărul C, reprezentând numărul de numere impare citite.
Dacă datele sunt introduse corect, pe ecran se va afișa: '''"Date de intrare valide."''', apoi programul afișează pe ecran numărul '''C''', reprezentând numărul de numere impare citite. În cazul în care datele nu respectă restricțiile, se va afișa pe ecran: '''"Date de intrare invalide".'''
 


==Restricţii şi precizări==
==Restricţii şi precizări==
Line 13: Line 14:
==Exemplu:==
==Exemplu:==
Intrare
Intrare
5 6 2 1 0
: 5 6 2 1 0


Ieșire
Ieșire
2
: Date de intrare valide
: 2


==Rezolvare==
==Rezolvare==
Line 43: Line 45:
         print("Date de intrare invalide")
         print("Date de intrare invalide")
</syntaxhighlight>
</syntaxhighlight>
==Explicatie cod:==
Funcția validare_date(numere) primește o listă de numere și verifică dacă fiecare număr din listă se încadrează în intervalul specificat [0, 1_000_000_000]. Dacă există cel puțin un număr care nu respectă această condiție, funcția returnează False. În caz contrar, returnează True.
Funcția cate_impare(numere) primește o listă de numere și numără câte dintre acestea sunt impare. Se verifică fiecare număr din listă, iar dacă numărul este impar (adică are restul împărțirii la 2 diferit de zero), se incrementează un contor. La final, se afișează numărul de numere impare găsite.
În blocul if __name__ == '__main__':, se citește de la intrare o serie de numere separate prin spațiu utilizând funcția input() și split(), și se stochează într-o listă numită numere. Apoi, se verifică dacă valorile citite sunt valide utilizând funcția validare_date(). Dacă valorile sunt valide, se afișează un mesaj de confirmare și se apelează funcția cate_impare() pentru a număra numerele impare. În caz contrar, se afișează un mesaj de eroare.

Latest revision as of 18:54, 29 June 2023

Cerinţa[edit | edit source]

Se citesc numere de la tastatură până la apariția lui zero. Să se determine câte dintre ele erau impare.

Date de intrare[edit | edit source]

Programul citește de la tastatură numere naturale. Citirea se încheie la introducerea valorii 0.

Date de ieşire[edit | edit source]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Date de intrare valide.", apoi programul afișează pe ecran numărul C, reprezentând numărul de numere impare citite. În cazul în care datele nu respectă restricțiile, se va afișa pe ecran: "Date de intrare invalide".


Restricţii şi precizări[edit | edit source]

numerele citite aparțin intervalului [0; 1.000.000.000)

Exemplu:[edit | edit source]

Intrare

5 6 2 1 0

Ieșire

Date de intrare valide
2

Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line> def validare_date(numere):

   for numar in numere:
       if numar < 0 or numar > 1_000_000_000:
           return False
   return True


def cate_impare(numere):

   numere_impare = 0
   for numar in numere:
       if numar % 2 == 1:
           numere_impare += 1
   print(numere_impare)


if __name__ == '__main__':

   numere = list(map(int, input().split()))
   if validare_date(numere):
       print("Date de intrare valide")
       cate_impare(numere)
   else:
       print("Date de intrare invalide")

</syntaxhighlight>

Explicatie cod:[edit | edit source]

Funcția validare_date(numere) primește o listă de numere și verifică dacă fiecare număr din listă se încadrează în intervalul specificat [0, 1_000_000_000]. Dacă există cel puțin un număr care nu respectă această condiție, funcția returnează False. În caz contrar, returnează True. Funcția cate_impare(numere) primește o listă de numere și numără câte dintre acestea sunt impare. Se verifică fiecare număr din listă, iar dacă numărul este impar (adică are restul împărțirii la 2 diferit de zero), se incrementează un contor. La final, se afișează numărul de numere impare găsite. În blocul if __name__ == '__main__':, se citește de la intrare o serie de numere separate prin spațiu utilizând funcția input() și split(), și se stochează într-o listă numită numere. Apoi, se verifică dacă valorile citite sunt valide utilizând funcția validare_date(). Dacă valorile sunt valide, se afișează un mesaj de confirmare și se apelează funcția cate_impare() pentru a număra numerele impare. În caz contrar, se afișează un mesaj de eroare.