0446 - Cif Max 3

De la Universitas MediaWiki

Cerință

Se citește de la tastatură un număr natural de 3 cifre. Să se afișeze pe ecran cea mai mare cifră a sa.

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 cea mai mare cifră a numărului citit.Î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, de 3 cifre

Exemplul 1

Intrare
187
Ieșire
Datele de intrare corespund restricțiilor impuse.
8

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 99 < numar < 1000:  # verificăm dacă numărul este între 99 și 1000 (dar nu inclusiv)
        return True
    return False


def cifra_maxima(numar):
    """
    Afișează cifra maxima a unui număr natural de trei cifre.

    Args:
        numar (int): Numărul de trei cifre de verificat.

    Returns:
        int: Cifra maxima a numărului.
    """
    # Extragem cifrele numărului
    sute = numar // 100
    zeci = numar % 100 // 10
    unitati = numar % 10

    # Găsim cifra cea mai mare
    if sute > zeci:
        if sute > unitati:
            return sute
    elif zeci > unitati:
        return zeci
    else:
        return unitati


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.")
        print(cifra_maxima(numar))  # afișăm cifra maxima
    else:
        print("Datele de intrare nu corespund restricțiilor impuse.")  # afișăm un mesaj de eroare