0452 - Cif Imp

De la Universitas MediaWiki

Cerință

Se citește de la tastatură un număr natural de 3 cifre. Să se determine câte cifre impare conține.

Date de intrare

Programul va citi de la tastatură un număr natural cu exact 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 va afișa numărul de cifre impare 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 este cuprins între 100 și 999, inclusiv.

Exemplul 1

Intrare
323
Ieșire
Datele de intrare corespund restricțiilor impuse.
2

Rezolvare

Rezolvare ver. 1

# Definim o functie "validare" care primeste un numar si verifica daca acesta este cuprins intre 100 si 999, inclusiv.
def validare(numar):
    if 100 <= numar <= 999:
        return True
    else:
        return False

#Definim o functie "numar_cifre_impare" care primeste un numar si numara cate cifre impare are.
def numar_cifre_impare(numar):
    cifre_impare = 0
    for cifra in str(numar):
        if int(cifra) % 2 != 0:
            cifre_impare += 1
    print(cifre_impare) # Afisam numarul de cifre impare gasite.


if __name__ == '__main__':
    numar = int(input("Introduceți un număr natural de 3 cifre: "))
    if validare(numar): # Daca numarul este valid, afisam un mesaj corespunzator si apelam functia
        print("Datele de intrare corespund restricțiilor impuse.")
        numar_cifre_impare(numar)
    else: # Daca numarul nu este valid, afisam un mesaj corespunzator.
        print("Datele de intrare nu corespund restricțiilor impuse.")