0002 - Suma N

De la Universitas MediaWiki

Sursa: 0002 - Suma N


Cerinţa

Se dau n numere naturale nenule. Calculaţi suma celor n numere date.

Date de intrare

Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spaţii, reprezentând elementele vectorului.

Date de ieșire

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt introduse corect.", apoi se va afisa suma celor n numere pe urmatorul rand. În cazul în care datele nu respectă restricțiile, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse.".

Restricţii şi precizări

0 ≤ n ≤ 1000

  • elementele vectorului vor fi mai mici decât 1000
  • vectorul nu va contine niciun element nul

Exemple

Exemplul 1

Intrare
5
6 2 0 4 1
Ieșire
Datele sunt introduse corect.
13


Rezolvare

def validare_date(n, c):
    flag = True
    if int(n) < 0 or int(n) > 1000:
        flag = False
    for numar in c:
        if not 0 <= int(numar) < 1000:
            flag = False
    return flag


def calculeaza_suma(numere):
    suma = 0
    for numar in numere:
        suma += int(numar)
    print(suma)


if __name__ == "__main__":
    n = int(input())
    numere = input().split(' ')
    if validare_date(n, numere):
        print("Date de intrare valide")
        calculeaza_suma(numere)
    else:
        print("Date de intrare invalide")

Explicatie cod:

Funcția validare_date(n, c) primește un număr n și o listă de numere c. Verifică dacă numărul n se află în intervalul [0, 1000], iar fiecare număr din lista c se află în intervalul [0, 1000]. Dacă există vreun număr care nu respectă această condiție, se returnează False. În caz contrar, se returnează True. Funcția calculeaza_suma(numere) primește o listă de numere numere și calculează suma acestora utilizând un loop. Suma este inițializată cu 0 și se adaugă fiecare număr din listă la suma totală. La final, suma este afișată cu print(). În blocul if __name__ == "__main__":, se citește un număr n utilizând funcția int(input()). Apoi, se citește o listă de numere numere utilizând input().split(' '), care separă numerele citite după spațiu și le stochează într-o listă. Apoi, se validează datele de intrare utilizând funcția validare_date(n, numere). Dacă datele sunt valide, se afișează mesajul "Date de intrare valide" și se apelează funcția calculeaza_suma(numere) pentru a calcula suma numerele din listă și a o afișa. Dacă datele nu sunt valide, se afișează mesajul "Date de intrare invalide".