0066 - Numarul de Cifre: Difference between revisions
mNo edit summary |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 38: | Line 38: | ||
nr_cifre += 1 | nr_cifre += 1 | ||
# Afisăm numărul de cifre | # Afisăm validarea numărul de cifre | ||
print(f"Datele introduse corespund resctrictiilor impuse.") | |||
print("Numarul are", nr_cifre, "cifre.") | print("Numarul are", nr_cifre, "cifre.") | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 59: | Line 58: | ||
lungime = len(numar) | lungime = len(numar) | ||
# Afișăm numărul de cifre | # Afișăm validarea datelor de intrare și numărul de cifre | ||
print(f"Datele introduse corespund resctrictiilor impuse.") | |||
print("Numărul de cifre al numărului", numar, "este:", lungime) | print("Numărul de cifre al numărului", numar, "este:", lungime) | ||
</syntaxhighlight> | |||
=== Rezolvare ver. 3 === | |||
<syntaxhighlight lang="python" line> | |||
def calculate_number_of_digits(numar): | |||
nr_cifre = 0 | |||
while numar > 0: | |||
numar //= 10 | |||
nr_cifre += 1 | |||
return nr_cifre | |||
def validate_positive_number(): | |||
numar = int(input("Introduceti un numar natural: ")) | |||
while numar <= 0: | |||
print("Numarul introdus trebuie sa fie pozitiv.") | |||
numar = int(input("Introduceti un numar natural: ")) | |||
return numar | |||
if __name__ == '__main__': | |||
# Validate the positive number input | |||
numar = validate_positive_number() | |||
# Calculate the number of digits | |||
nr_cifre = calculate_number_of_digits(numar) | |||
# Display the result | |||
print(f"Datele introduse corespund resctrictiilor impuse.") | |||
print("Numarul are", nr_cifre, "cifre.") | |||
</syntaxhighlight> | |||
=== Rezolvare ver. 4 === | |||
<syntaxhighlight lang="python" line> | |||
def calculate_number_of_digits(numar): | |||
return len(str(numar)) | |||
def validate_positive_number(): | |||
numar = int(input("Introduceți numărul: ")) | |||
if numar <= 0: | |||
print("Numărul trebuie să fie un număr natural pozitiv!") | |||
return None | |||
return numar | |||
if __name__ == '__main__': | |||
# Validam datele de intrare | |||
numar = validate_positive_number() | |||
# Calculam numarul de cifre, daca numarul este valid | |||
if numar is not None: | |||
lungime = calculate_number_of_digits(numar) | |||
# Afisam rezultatul | |||
print(f"Datele introduse corespund resctrictiilor impuse.") | |||
print("Numărul de cifre al numărului", numar, "este:", lungime) | |||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 09:39, 12 May 2023
Sursa: [1]
Cerinţa[edit | edit source]
Să se scrie un program care să determine numărul de cifre ale unui număr natural citit de la tastatură.
Date de intrare[edit | edit source]
Programul va citi de la tastatură un număr natural.
Date de ieșire[edit | edit source]
Programul va afişa pe ecran numărul de cifre ale numărului citit.
Restricţii şi precizări[edit | edit source]
- numărul citit va fi mai mic decât 2^31
Exemplu[edit | edit source]
- Intrare
- 2705
- Ieșire
- 4
Rezolvare[edit | edit source]
Rezolvare ver. 1[edit | edit source]
<syntaxhighlight lang="python" line>
- 0066 - Numarul de cifre
- Citim un număr natural de la tastatură și verificăm că este pozitiv
numar = int(input("Introduceti un numar natural: ")) while numar <= 0:
print("Numarul introdus trebuie sa fie pozitiv.") numar = int(input("Introduceti un numar natural: "))
- Inițializăm numărul de cifre cu 0
nr_cifre = 0
- Folosim o buclă while pentru a calcula numărul de cifre
while numar > 0:
# Folosim operatorul //= pentru a obține partea întreagă a împărțirii la 10 a numărului numar //= 10 # Incrementăm numărul de cifre cu 1 la fiecare iterație nr_cifre += 1
- Afisăm validarea numărul de cifre
print(f"Datele introduse corespund resctrictiilor impuse.") print("Numarul are", nr_cifre, "cifre.")
</syntaxhighlight>
Rezolvare ver. 2[edit | edit source]
<syntaxhighlight lang="python" line>
- 0066 - Numarul de cifre
- Citim numărul de la tastatură
numar = int(input("Introduceți numărul: "))
- Verificăm dacă numărul este un număr natural pozitiv
if numar <= 0:
print("Numărul trebuie să fie un număr natural pozitiv!")
else:
# Calculam numarul de cifre ale numarului lungime = len(numar) # Afișăm validarea datelor de intrare și numărul de cifre print(f"Datele introduse corespund resctrictiilor impuse.") print("Numărul de cifre al numărului", numar, "este:", lungime)
</syntaxhighlight>
Rezolvare ver. 3[edit | edit source]
<syntaxhighlight lang="python" line>
def calculate_number_of_digits(numar):
nr_cifre = 0 while numar > 0: numar //= 10 nr_cifre += 1 return nr_cifre
def validate_positive_number():
numar = int(input("Introduceti un numar natural: ")) while numar <= 0: print("Numarul introdus trebuie sa fie pozitiv.") numar = int(input("Introduceti un numar natural: ")) return numar
if __name__ == '__main__':
# Validate the positive number input numar = validate_positive_number()
# Calculate the number of digits nr_cifre = calculate_number_of_digits(numar)
# Display the result print(f"Datele introduse corespund resctrictiilor impuse.") print("Numarul are", nr_cifre, "cifre.")
</syntaxhighlight>
Rezolvare ver. 4[edit | edit source]
<syntaxhighlight lang="python" line>
def calculate_number_of_digits(numar):
return len(str(numar))
def validate_positive_number():
numar = int(input("Introduceți numărul: ")) if numar <= 0: print("Numărul trebuie să fie un număr natural pozitiv!") return None return numar
if __name__ == '__main__':
# Validam datele de intrare numar = validate_positive_number()
# Calculam numarul de cifre, daca numarul este valid if numar is not None: lungime = calculate_number_of_digits(numar) # Afisam rezultatul print(f"Datele introduse corespund resctrictiilor impuse.") print("Numărul de cifre al numărului", numar, "este:", lungime)
</syntaxhighlight>