0021 - Suma cifrelor: Difference between revisions
Vardai Erwin (talk | contribs) |
Cuceu Andrei (talk | contribs) No edit summary |
||
Line 48: | Line 48: | ||
print("Datele introduse nu corespund restricțiilor impuse.") | print("Datele introduse nu corespund restricțiilor impuse.") | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==Explicatii== | |||
Acest cod este scris în limbajul de programare Python și este împărțit în două funcții principale: '''validare''' și '''suma'''. | |||
Funcția '''validare''' verifică dacă inputul primit este un număr natural valid (adica întreg, pozitiv și mai mic decât 2 miliarde), returnând '''True''' dacă inputul este valid și '''False''' în caz contrar. Acest lucru se face verificând mai întâi dacă inputul este format doar din cifre, utilizând metoda '''isdigit()''' pentru string-uri. Apoi, se converteste inputul la un întreg și se verifică dacă este mai mare sau egal cu zero și mai mic decât 2 miliarde. | |||
Funcția '''suma''' primește ca input un număr natural și calculează suma cifrelor sale. Acest lucru se realizează utilizând un loop while pentru a extrage cifrele din număr. În fiecare iterație, cifra unităților este obținută prin intermediul operatorului '''modulo (%)''', este adăugată la suma totală, iar numărul este actualizat prin eliminarea cifrei unităților (împărțind la 10 cu operatorul''' //)'''. Acest proces se repetă până când numărul devine zero, ceea ce înseamnă că toate cifrele au fost procesate. | |||
În funcția principală '''(main)''', se citește un input de la utilizator și se verifică dacă este un număr natural valid prin apelul funcției '''validare'''. Dacă inputul este valid, se converteste la un întreg și se afișează un mesaj că datele introduse sunt valabile. Apoi, funcția suma este apelată cu inputul și se afișează suma cifrelor. Dacă inputul nu este valid, se afișează un mesaj corespunzător. |
Revision as of 14:41, 30 April 2023
Cerință
Calculaţi suma cifrelor numărului dat.
Date de intrare
Programul va citi de la tastatură un număr natural.
Date de ieșire
Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul va afişa pe ecran suma cifrelor numărului citit. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."
Restricții de precizări
- număr < 2.000.000.000
Exemplu
Exemplul 1
- Intrare
- 2705
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 14
Rezolvare
Rezolvare ver. 1
<syntaxhighlight lang="python" line="1" start="1"> def validare(n):
return n.isdigit() and 0 <= int(n) < 2_000_000_000
def suma(n):
suma = 0 while n > 0: cifra = n % 10 suma += cifra n //= 10
print("Suma cifrelor numarului dat este: ", suma)
if __name__ == '__main__':
n = input("Introduceti un numar natural: ") if validare(n): n = int(n) print("Datele introduse corespund restricțiilor impuse.") suma(n) else: print("Datele introduse nu corespund restricțiilor impuse.")
</syntaxhighlight>
Explicatii
Acest cod este scris în limbajul de programare Python și este împărțit în două funcții principale: validare și suma.
Funcția validare verifică dacă inputul primit este un număr natural valid (adica întreg, pozitiv și mai mic decât 2 miliarde), returnând True dacă inputul este valid și False în caz contrar. Acest lucru se face verificând mai întâi dacă inputul este format doar din cifre, utilizând metoda isdigit() pentru string-uri. Apoi, se converteste inputul la un întreg și se verifică dacă este mai mare sau egal cu zero și mai mic decât 2 miliarde.
Funcția suma primește ca input un număr natural și calculează suma cifrelor sale. Acest lucru se realizează utilizând un loop while pentru a extrage cifrele din număr. În fiecare iterație, cifra unităților este obținută prin intermediul operatorului modulo (%), este adăugată la suma totală, iar numărul este actualizat prin eliminarea cifrei unităților (împărțind la 10 cu operatorul //). Acest proces se repetă până când numărul devine zero, ceea ce înseamnă că toate cifrele au fost procesate.
În funcția principală (main), se citește un input de la utilizator și se verifică dacă este un număr natural valid prin apelul funcției validare. Dacă inputul este valid, se converteste la un întreg și se afișează un mesaj că datele introduse sunt valabile. Apoi, funcția suma este apelată cu inputul și se afișează suma cifrelor. Dacă inputul nu este valid, se afișează un mesaj corespunzător.