0052 - Suma Pare 1: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
No edit summary
Paul Ungur (talk | contribs)
No edit summary
 
Line 7: Line 7:
==Date de ieşire==
==Date de ieşire==
Programul afișează pe ecran numărul <span style=“color: red”> S</span>, reprezentând suma numerelor pare.
Programul afișează pe ecran numărul <span style=“color: red”> S</span>, reprezentând suma numerelor pare.
Dacă datele sunt introduse corect, pe ecran se va afișa: '''"Date de intrare valide"'''
În caz contrar, se va afișa pe ecran: '''"Date de intrare invalide."'''


==Restricţii şi precizări==
==Restricţii şi precizări==
Line 15: Line 18:
Intrare
Intrare


5 6 2 1 0
: 5 6 2 1 0


Ieșire
Ieșire
 
: Datele de intrare valide.
8
: 8





Latest revision as of 18:42, 29 June 2023

Cerinţa[edit]

Se citesc numere de la tastatură până la apariția lui zero. Să se determine suma celor pare.

Date de intrare[edit]

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

Date de ieşire[edit]

Programul afișează pe ecran numărul S, reprezentând suma numerelor pare. Dacă datele sunt introduse corect, pe ecran se va afișa: "Date de intrare valide"

În caz contrar, se va afișa pe ecran: "Date de intrare invalide."

Restricţii şi precizări[edit]

numerele citite aparține intervalului (-1.000.000; 1.000.000) valoarea absolută a sumei nu va depăși 1.000.000.000

Exemplu:[edit]

Intrare

5 6 2 1 0

Ieșire

Datele de intrare valide.
8


Rezolvare[edit]

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

   for numar in numere:
       if numar < -1000000 or numar > 1000000:
           return False
   return True


def suma_numerelor_pare(numere):

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


if __name__ == '__main__':

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

</syntaxhighlight>

Explicatie cod:[edit]

Funcția validare_date(numere) primește o listă de numere și verifică dacă fiecare număr din listă se încadrează în intervalul specificat [-1000000, 1000000]. 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 suma_numerelor_pare(numere) primește o listă de numere și calculează suma numerelor pare din acea listă. Se verifică fiecare număr din listă, iar dacă numărul este par (adică împărțit exact la 2), se adaugă la suma totală. La final, suma este afișată. Î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 suma_numerelor_pare() pentru a calcula suma numerelor pare. În caz contrar, se afișează un mesaj de eroare.