0053 - Cate Impare
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.