0002 - Suma N: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/161/inlocuire 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...
 
Paul Ungur (talk | contribs)
No edit summary
Line 27: Line 27:
== Rezolvare ==  
== Rezolvare ==  
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>
# 0161
def calculeaza_suma(numere: list) -> int:
def calculeaza_suma(numere: list) -> int:
     suma = 0
     suma = 0
Line 46: Line 44:




def main():
if __name__ == "__main__":
     n = int(input())
     n = int(input())
     numere = citeste_numere()
     numere = citeste_numere()
Line 52: Line 50:
         suma = calculeaza_suma(numere)
         suma = calculeaza_suma(numere)
         print(suma)
         print(suma)
if __name__ == "__main__":
    main()
</syntaxhighlight>
</syntaxhighlight>
== Explicație rezolvare==
  Această soluție Python are următoarele caracteristici:
    Utilizează trei funcții separate pentru a citi numerele, a calcula suma și a afișa rezultatul;
    Funcția citeste_numere citeste numerele de la intrare, le separă într-o listă și verifică dacă toate sunt numere întregi;
    Funcția calculeaza_suma primește lista de numere și calculează suma lor folosind un loop for;
    Funcția main primește numărul de numere și apelează citeste_numere pentru a citi numerele și a verifica dacă sunt valide; apoi         
    calculează suma și o afișează dacă lista de numere este nevidă.
  Astfel, programul primește un număr n și o listă de n numere și returnează suma numerelor din listă, sau afișează un mesaj de eroare dacă datele de intrare nu sunt corecte.

Revision as of 16:04, 26 April 2023

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 &l; n &l; 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

<syntaxhighlight lang="python" line> def calculeaza_suma(numere: list) -> int:

   suma = 0
   for numar in numere:
       suma += int(numar)
   return suma


def citeste_numere() -> list:

   numere = input().split(' ')
   for numar in numere:
       if not numar.isdigit():
           print('Datele nu corespund restricțiilor impuse.')
           return []
   print('Datele sunt introduse corect.')
   return numere


if __name__ == "__main__":

   n = int(input())
   numere = citeste_numere()
   if numere:
       suma = calculeaza_suma(numere)
       print(suma)

</syntaxhighlight>