0452 - Cif Imp

From Bitnami 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

<syntaxhighlight lang="python" line="1" start="1">

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

</syntaxhighlight>