0451 - Calcul

De la Universitas MediaWiki

Cerință

Se citește de la tastatură un număr natural de maxim 2 cifre . Să se afișeze pe ecran valori astfel: dacă numărul este mai mic sau egal cu 15 se va afișa pătratul valorii sale; dacă numărul este cuprins între 16 și 30 (inclusiv) se va afișa suma cifrelor sale; în caz contrar se va afișa produsul cifrelor sale.

Date de intrare

Programul va citi de la tastatură un număr natural cu cel mult două 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 va afișa o valoare conform descrierii din cerință. Î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 este cuprins între 0 și 99, inclusiv.

Exemplul 1

Intrare
12
Ieșire
Datele de intrare corespund restricțiilor impuse.
144

Rezolvare

Rezolvare ver. 1

def validare(numar):
    """
    Funcție care validează dacă un număr este între 0 și 99 inclusiv.
    """
    if numar < 0 or numar > 99:
        return False
    else:
        return True


def procesare_numar(numar):
    """
    Funcție care procesează un număr conform cerințelor specifice.Prima data stabilim in ce interval se afla numarul.
    """
    if numar <= 15:
        print(numar ** 2)
    elif numar >= 16 and numar <= 30:
        suma_cifrelor = sum(int(digit) for digit in str(numar))
        print(suma_cifrelor)
    else:
        produs_cifrelor = 1
        for cifra in str(numar):
            produs_cifrelor *= int(cifra)
        print(produs_cifrelor)


if __name__ == "__main__":
    numar = int(input("Introduceți un număr natural de maxim 2 cifre: "))  # Citim numarul de la tastatura
    if validare(numar):  # Aplicam functia validare pentru a determina daca numarul este valid
        print(
            "Datele de intrare corespund restricțiilor impuse.")  # In caz afirmativ afisam mesajul urmator si apelam functia
        procesare_numar(numar)
    else:  # In caz contrar afisam mesajul corespunzator
        print("Datele de intrare nu corespund restricțiilor impuse.")