0052 - Suma Pare 1

De la Universitas MediaWiki

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.

Date de ieşire

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

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

Exemplu:

Intrare

5 6 2 1 0

Ieșire

Datele de intrare valide.
8


Rezolvare

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

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.