0052 - Suma Pare 1
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.