0452 - Cif Imp

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. 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.")