0185 - Cif Init

From Bitnami MediaWiki
Revision as of 10:03, 7 May 2023 by Adrian (talk | contribs) (Pagină nouă: == Cerința == Se citește de la tastură un număr natural '''num_numere''', apoi '''num_numere''' numere naturale. Să se afişeze cel mai mic număr care poate fi scris folosind prima cifră a numerelor citite. == Date de intrare == Programul citește de la tastatură numărul '''num_numere''', iar apoi cele '''num_numere''' numere naturale, separate prin spaţii. == Date de ieșire == Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse". În...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerința

Se citește de la tastură un număr natural num_numere, apoi num_numere numere naturale. Să se afişeze cel mai mic număr care poate fi scris folosind prima cifră a numerelor citite.

Date de intrare

Programul citește de la tastatură numărul num_numere, iar apoi cele num_numere numere naturale, separate prin spaţii.

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 numărul numar_minim, cel mai mic număr care poate fi scris folosind prima cifră a numerelor citite.

Î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

  • 0 < num_numere < 1000
  • cele num_numere numere citite vor fi mai mari decât 0 și mai mici decât 1000000000

Exemplu 1

Intrare
5
100
312
276
985
5021
Ieșire
Datele de intrare corespund restricțiilor impuse
12359


Exemplu 2

Intrare
0
Ieșire
Nu au fost respectate cerintele impuse


Rezolvare

<syntaxhighlight lang="python" line>

  1. 0185 - CifInit

def validare(num_numere, numere):

   # Daca datele sunt invalide v-om face raise la eroarea ValueError
   if (not (num_numere > 0 and num_numere < 1000)):
       raise ValueError
   for numar in numere:
       if (not (numar > 0 and numar < 1000000000)):
           raise ValueError


def cifinit(num_numere, numere):

   primele_cifre = []
   for numar in numere:
       primele_cifre.append(str(numar)[0])
   primele_cifre.sort()
   numar_minim = int(.join(primele_cifre))
   print(numar_minim)


if __name__ == '__main__':

   num_numere = int(input())
   numere = []
   for i in range(num_numere):
       numar = int(input())
       numere.append(numar)
   try:
       validare(num_numere, numere)
   except ValueError:
       print("Nu au fost respectate cerintele impuse")
   else:
       print("Datele de intrare corespund restricțiilor impuse")
       cifinit(num_numere, numere)

</syntaxhighlight>