1311 - Cif Egale

From Bitnami MediaWiki

Cerință

Se citește de la tastatură un număr natural de 3 cifre. Să se stabilească dacă are toate cifrele egale.

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 mesajul da sau mesajul nu, după cum are sau nu are toate cifrele egale. Î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
333
Ieșire
da

Exemplul 2

Intrare
323
Ieșire
nu

Rezolvare

Rezolvare ver. 1

<syntaxhighlight lang="python" line="1" start="1"> def validare(numar):

   """
   Verifică dacă un număr respectă condiția de a fi între 100 și 999 inclusiv.
   Argumente:
   numar -- numărul de verificat
   Returnează:
   True dacă numărul este valid, False altfel
   """
   if numar >= 100 and numar <= 999:
       return True
   else:
       return False


def cifre_egale(numar):

   """
   Verifică dacă toate cifrele unui număr sunt egale.
   Argumente:
   numar -- numărul de verificat
   Returnează:
   True dacă toate cifrele sunt egale, False altfel
   """
   cifra_unitati = numar % 10
   cifra_zecilor = (numar // 10) % 10
   cifra_sutelor = numar // 100
   if cifra_unitati == cifra_zecilor and cifra_zecilor == cifra_sutelor:
       print("da")
   else:
       print("nu")


if __name__ == '__main__':

   numar = int(input("Introduceți un număr natural de 3 cifre: "))  # Citim numarul de la tastatura
   if validare(numar):  # Apelam functia pentru a afla daca numarul introdus este valid
       print("Datele de intrare corespund restricțiilor impuse.")
       cifre_egale(numar)  # Apelam functia pentru a afla daca numarul introdus are toate cifrele egale
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")

</syntaxhighlight>