0066 - Numarul de Cifre: Difference between revisions

From Bitnami MediaWiki
mNo edit summary
 
(One intermediate revision 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(f"Datele introduse corespund resctrictiilor impuse.")
print("Numarul are", nr_cifre, "cifre.")
print("Numarul are", nr_cifre, "cifre.")


</syntaxhighlight>
</syntaxhighlight>
Line 64: Line 62:
     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>

  1. 0066 - Numarul de cifre
  1. 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: "))
  1. Inițializăm numărul de cifre cu 0

nr_cifre = 0

  1. 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
  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>

  1. 0066 - Numarul de cifre
  1. Citim numărul de la tastatură

numar = int(input("Introduceți numărul: "))

  1. 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>