0209 - Elim Cif

From Bitnami MediaWiki
Revision as of 03:51, 14 May 2023 by Adrian (talk | contribs)

Cerința

Să se scrie un program care citeşte de la tastatură un număr natural cu exact trei cifre şi determină numărul obţinut prin eliminarea cifrei din mijloc.

Date de intrare

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

Date de ieșire

Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse". În următorul rând se va afişa pe ecran un număr num_fara_cifra_mijloc, reprezentând numărul obţinut prin eliminarea cifrei din mijloc a numărului num.

În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse".

Restricții și precizări

  • 99 < num < 1000

Exemplu 1

Intrare
123
Ieșire
Datele de intrare corespund restricțiilor impuse
13


Exemplu 2

Intrare
1000
Ieșire
Nu au fost respectate cerintele impuse


Rezolvare

<syntaxhighlight lang="python" line>

  1. 0209 - ElimCif

def validare(num):

   # Daca datele sunt invalide v-om face raise la eroarea ValueError
   if not (num > 99 and num < 1000):
       raise ValueError


def eliminare_cifra_mijloc(num):

   # Convertim num in string
   string_num = str(num)
   # Luam characterul 0 (adica prima cifra)
   # si caracterul 1 (adica ultima cifra), si le adunam
   # Adunarea a doua string-uri in Python inseamna ca
   # ele se lipesc unul de altul, ex. "test" + "test2" = "testtest2"
   # Dupa ce avem string-ul cu cele doua numere
   # (inafara numerului din mijloc), il convertim in int
   num_fara_cifra_mijloc = int(string_num[0] + string_num[-1])
   print(num_fara_cifra_mijloc)


if __name__ == '__main__':

   # Citim de la tastatura numerele cerute
   num = int(input())
   # Verificam daca datele introduse sunt valide
   # daca nu afisam mesajul corespunsador
   try:
       validare(num)
   except ValueError:
       print("Nu au fost respectate cerintele impuse")
   else:
       print("Datele de intrare corespund restricțiilor impuse")
       eliminare_cifra_mijloc(num)

</syntaxhighlight>