0449 - Nr Cif

From Bitnami MediaWiki

Cerință[edit | edit source]

Se citește de la tastatură un număr natural de maxim 3 cifre. Să se determine câte cifre are.

Date de intrare[edit | edit source]

Programul va citi de la tastatură un număr natural de 3 cifre

Date de ieșire[edit | edit source]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran numărul de cifre ale valorii citite.În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări[edit | edit source]

  • Numărul citit de la tastatură este natural, cu cel mult 3 cifre

Exemplul 1[edit | edit source]

Intrare
397
Ieșire
Datele de intrare corespund restricțiilor impuse.
3

Rezolvare[edit | edit source]

Rezolvare ver. 1[edit | edit source]

<syntaxhighlight lang="python" line="1" start="1"> def validare(numar):

   """
   Verifică dacă numărul dat respectă restricțiile impuse.
   Args:
       numar (int): Numărul de verificat.
   Returns:
       bool: True dacă numărul respectă restricțiile, False în caz contrar.
   """
   if 0 < numar < 1000:  # verificăm dacă numărul este între 0 și 1000 (dar nu inclusiv)
       return True
   return False


def numar_cifre(numar):

   """
   Afișează numărul de cifre ale numărului dat.
   Args:
       numar (int): Numărul de verificat.
   """
   if numar // 100 != 0:  # verificăm dacă numărul are trei cifre
       print(3)
   elif numar // 100 == 0 and numar // 10 != 0:  # verificăm dacă numărul are două cifre
       print(2)
   else:
       print(1)  # afișăm 1 pentru numerele cu o singură cifră


if __name__ == "__main__":

   numar = int(input("Introduceti un numar natural: "))  # citim numărul de la tastatură
   if validare(numar):  # dacă numărul respectă restricțiile impuse
       print("Datele de intrare corespund restricțiilor impuse.")
       numar_cifre(numar)  # afișăm numărul de cifre
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")  # afișăm un mesaj de eroare

</syntaxhighlight>