0447 - Cif Mid

De la Universitas MediaWiki
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

Cerință

Se citește de la tastatură un număr natural de 3 cifre, distincte. Să se afișeze pe ecran cifra din mijloc, ca valoare.

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 cifra care nu este nici minimă și nici maximă.Î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
397
Ieșire
Datele de intrare corespund restricțiilor impuse.
7

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_din_mijloc(numar):
    """
    Afișează cifra din mijloc a unui număr natural de trei cifre, distincte.

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

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

    # Găsim cifra din mijloc
    if sute > zeci:
        if zeci > unitati:
            return zeci
        elif sute > unitati:
            return unitati
    elif sute > unitati:
        return sute
    elif zeci > unitati:
        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_din_mijloc(numar))  # afișăm cifra din mijloc
    else:
        print("Datele de intrare nu corespund restricțiilor impuse.")  # afișăm un mesaj de eroare