0053 - Cate Impare: Difference between revisions
Paul Ungur (talk | contribs) No edit summary |
Paul Ungur (talk | contribs) No edit summary |
||
Line 43: | Line 43: | ||
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. |
Revision as of 17:13, 15 May 2023
Cerinţa
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
Programul citește de la tastatură numere naturale. Citirea se încheie la introducerea valorii 0.
Date de ieşire
Programul afișează pe ecran numărul C, reprezentând numărul de numere impare citite.
Restricţii şi precizări
numerele citite aparțin intervalului [0; 1.000.000.000)
Exemplu:
Intrare 5 6 2 1 0
Ieșire 2
Rezolvare
<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:
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.