0449 - Nr Cif

De la Universitas MediaWiki

Cerință

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

Date de intrare

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

Date de ieșire

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

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

Exemplul 1

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

Rezolvare

Rezolvare ver. 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