0052 - Suma Pare 1: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
No edit summary
Paul Ungur (talk | contribs)
No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 3: Line 3:


==Date de intrare==
==Date de intrare==
Programul citește de la tastatură numere întregi. Citirea se încheie la introducerea valorii <span style=“color: red”>0</span.
Programul citește de la tastatură numere întregi. Citirea se încheie la introducerea valorii <span style=“color: red”>0</span>.


==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==
numerele citite aparține intervalului <span style=“color: red”> (-1.000.000; 1.000.000)</span
numerele citite aparține intervalului <span style=“color: red”> (-1.000.000; 1.000.000)</span>
valoarea absolută a sumei nu va depăși <span style=“color: red”> 1.000.000.000</span>
valoarea absolută a sumei nu va depăși <span style=“color: red”> 1.000.000.000</span>


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




Line 48: Line 51:


</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 [-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.

Latest revision as of 18:42, 29 June 2023

Cerinţa[edit | edit source]

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

Date de intrare[edit | edit source]

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

Date de ieşire[edit | edit source]

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 | edit source]

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 | edit source]

Intrare

5 6 2 1 0

Ieșire

Datele de intrare valide.
8


Rezolvare[edit | edit source]

<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 | 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 [-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.