0051 - Suma: Difference between revisions
Paul Ungur (talk | contribs) No edit summary |
Paul Ungur (talk | contribs) No edit summary |
||
Line 46: | Line 46: | ||
print("Date de intrare invalide") | print("Date de intrare invalide") | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==Explicatie cod:== | |||
Funcția validare(numere) primește o listă de numere și verifică dacă fiecare număr se încadrează în intervalul [-1000000, 1000000]. Dacă există un 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 ș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 o listă de numere numere utilizând list(map(int, input().split())), care citeste numerele separate prin spațiu și le stochează într-o listă convertindu-le în valori intregi. Apoi, se validează datele de intrare utilizând funcția validare(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 numerelor din listă și a o afișa. Dacă datele nu sunt valide, se afișează mesajul "Date de intrare invalide". | |||
Acest cod verifică dacă toate numerele din listă sunt în intervalul [-1000000, 1000000], calculează suma lor și o afișează. |
Latest revision as of 17:04, 15 May 2023
Sursa: 0161 - inlocuire
Cerinţa[edit | edit source]
Se citesc numere de la tastatură până la apariția lui 0. Să se determine suma lor.
Date de intrare[edit | edit source]
Programul citește de la tastatură numere întregi. Citirea se încheie la introducerea valorii 0.
Date de ieșire[edit | edit source]
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele sunt introduse corect.". Apoi pe urmatoarea linie, programul afișează vasloarea variabilei suma, reprezentând suma numerelor citite. Î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[edit | edit source]
- -1000000 ⩽ numar_citit ⩽ 1.000.000
- valoarea absolută a sumei nu va depăși 1.000.000.000
Exemplu[edit | edit source]
- Intrare
- 5 6 2 1 0
- Ieșire
- Datele sunt introduse corect.
- 14
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line> def validare(numere):
for numar in numere: if numar < -1000000 or numar > 1000000: return False return True
def calculeaza_suma(numere):
suma = 0 for numar in numere: suma += numar print(suma)
if __name__ == "__main__":
numere = list(map(int, input().split())) if validare(numere): print("Date de intrare valide") calculeaza_suma(numere) else: print("Date de intrare invalide")
</syntaxhighlight>
Explicatie cod:[edit | edit source]
Funcția validare(numere) primește o listă de numere și verifică dacă fiecare număr se încadrează în intervalul [-1000000, 1000000]. Dacă există un 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 ș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 o listă de numere numere utilizând list(map(int, input().split())), care citeste numerele separate prin spațiu și le stochează într-o listă convertindu-le în valori intregi. Apoi, se validează datele de intrare utilizând funcția validare(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 numerelor din listă și a o afișa. Dacă datele nu sunt valide, se afișează mesajul "Date de intrare invalide". Acest cod verifică dacă toate numerele din listă sunt în intervalul [-1000000, 1000000], calculează suma lor și o afișează.