0052 - Suma Pare 1: Difference between revisions

From Bitnami MediaWiki
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...
 
Paul Ungur (talk | contribs)
No edit summary
Line 24: Line 24:
==Rezolvare==
==Rezolvare==
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>
def validate_input(value):
def validare_date(numere):
     try:
     for numar in numere:
         int(value)
         if numar < -1000000 or numar > 1000000:
        return True
            return False
     except ValueError:
     return True
        return False




def read_input():
def suma_numerelor_pare(numere):
     numbers = []
     suma = 0
    while True:
     for numar in numere:
        value = input()
         if numar % 2 == 0:
        if value == '0':
             suma += numar
            break
     print(suma)
        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__':
if __name__ == '__main__':
     numbers = read_input()
     numere = list(map(int, input().split()))
     even_sum = calculate_even_sum(numbers)
     if validare_date(numere):
     print(even_sum)
        print("Date de intrare valide")
        suma_numerelor_pare(numere)
     else:
        print("Date de intrare invalide")


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

Revision as of 16:06, 26 April 2023

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