0052 - Suma Pare 1

From Bitnami MediaWiki
Revision as of 08:13, 22 April 2023 by Paul Ungur (talk | contribs) (Pagină nouă: ==Cerinţa== Se citesc numere de la tastatură până la apariția lui zero. Să se determine suma celor pare. ==Date de intrare== Programul citește de la tastatură numere întregi. Citirea se încheie la introducerea valorii <span style=“color: red”>0</span. ==Date de ieşire== Programul afișează pe ecran numărul <span style=“color: red”> S</span>, reprezentând suma numerelor pare. ==Restricţii şi precizări== numerele citite aparține intervalului <span s...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerinţa

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

Date de intrare

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

Date de ieşire

Programul afișează pe ecran numărul S, reprezentând suma numerelor pare.

Restricţii şi precizări

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

Exemplu:

Intrare

5 6 2 1 0

Ieșire

8


Rezolvare

<syntaxhighlight lang="python" line> def validate_input(value):

   try:
       int(value)
       return True
   except ValueError:
       return False


def read_input():

   numbers = []
   while True:
       value = input()
       if value == '0':
           break
       if validate_input(value):
           numbers.append(int(value))
       else:
           print("Invalid input. Please enter an integer.")
   return numbers


def calculate_even_sum(numbers):

   even_sum = 0
   for number in numbers:
       if number % 2 == 0:
           even_sum += number
   return even_sum


if __name__ == '__main__':

   numbers = read_input()
   even_sum = calculate_even_sum(numbers)
   print(even_sum)

</syntaxhighlight>

Explicatie

Aceasta implementare citeste datele de intrare pana cand se introduce valoarea zero, valideaza intrarea, calculeaza suma numerelor pare si afiseaza rezultatul. De asemenea, functia de validare ajuta la prevenirea erorilor, daca se introduce o valoare neasteptata. In final, functia "main" este implementata cu ajutorul constructiei "if name == 'main':", ceea ce inseamna ca aceasta va fi executata numai atunci cand fisierul este rulat ca program principal.