0447 - Cif Mid

From Bitnami MediaWiki
Revision as of 15:52, 29 April 2023 by Tuca Liviu Razvan (talk | contribs) (Pagină nouă: ==Cerință== Se citește de la tastatură un '''număr natural''' de 3 cifre, distincte. Să se afișeze pe ecran cifra din mijloc, ca valoare. ==Date de intrare== Programul va citi de la tastatură un '''număr natural''' de 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 afișează pe ecran cifra care nu este nici minimă și nici maximă.În caz contrar, se va afi...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerință[edit | edit source]

Se citește de la tastatură un număr natural de 3 cifre, distincte. Să se afișeze pe ecran cifra din mijloc, ca valoare.

Date de intrare[edit | edit source]

Programul va citi de la tastatură un număr natural de 3 cifre.

Date de ieșire[edit | edit source]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran cifra care nu este nici minimă și nici maximă.În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări[edit | edit source]

  • Numărul citit de la tastatură este natural, de 3 cifre

Exemplul 1[edit | edit source]

Intrare
397
Ieșire
Datele de intrare corespund restricțiilor impuse.
7

Rezolvare[edit | edit source]

Rezolvare ver. 1[edit | edit source]

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

   """
   Verifică dacă numărul dat respectă restricțiile impuse.
   Args:
       numar (int): Numărul de verificat.
   Returns:
       bool: True dacă numărul respectă restricțiile, False în caz contrar.
   """
   if 99 < numar < 1000:  # verificăm dacă numărul este între 99 și 1000 (dar nu inclusiv)
       return True
   return False


def cifra_din_mijloc(numar):

   """
   Afișează cifra din mijloc a unui număr natural de trei cifre, distincte.
   Args:
       numar (int): Numărul de trei cifre de verificat.
   Returns:
       int: Cifra din mijloc a numărului.
   """
   # Extragem cifrele numărului
   sute = numar // 100
   zeci = numar % 100 // 10
   unitati = numar % 10
   # Găsim cifra din mijloc
   if sute > zeci:
       if zeci > unitati:
           return zeci
       elif sute > unitati:
           return unitati
   elif sute > unitati:
       return sute
   elif zeci > unitati:
       return unitati


if __name__ == "__main__":

   numar = int(input("Introduceti un numar natural: "))  # citim numărul de la tastatură
   if validare(numar):  # dacă numărul respectă restricțiile impuse
       print("Datele de intrare corespund restricțiilor impuse.")
       print(cifra_din_mijloc(numar))  # afișăm cifra din mijloc
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")  # afișăm un mesaj de eroare

</syntaxhighlight>