0236 - Sort 2

From Bitnami MediaWiki
Revision as of 07:09, 7 November 2023 by Zmicala Narcis (talk | contribs) (Pagină nouă: == Cerinţa == Fişierul text '''sort2.in''' conţine, dispuse pe mai multe linii, cel mult '''100''' de numere naturale, cu cel mult '''4''' cifre fiecare. Să se afişeze în fişierul '''sort2.out''', în ordine crescătoare, toate numerele din fişierul '''sort2.in''' care au cel mult '''2''' cifre. == Date de intrare == Fişierul de intrare '''sort2.in''' conţine, dispuse pe mai multe linii, cel mult '''100''' de numere naturale, cu cel mult '''4''' cifre fiecare. == Da...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerinţa[edit | edit source]

Fişierul text sort2.in conţine, dispuse pe mai multe linii, cel mult 100 de numere naturale, cu cel mult 4 cifre fiecare. Să se afişeze în fişierul sort2.out, în ordine crescătoare, toate numerele din fişierul sort2.in care au cel mult 2 cifre.

Date de intrare[edit | edit source]

Fişierul de intrare sort2.in conţine, dispuse pe mai multe linii, cel mult 100 de numere naturale, cu cel mult 4 cifre fiecare.

Date de ieşire[edit | edit source]

Fişierul de ieşire sort2.out va conţine, pe prima linie, în ordine crescătoare, separate prin exact un spaţiu, toate numerele din fişierul sort2.in care au cel mult 2 cifre.

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

  • dacă în fişierul de intrare nu există numere cu cel mult 2 cifre, se va afişa în fişierul de ieşire, pe prima linie, mesajul “NU EXISTA”.

Exemplu[edit | edit source]

sort2.in
86 18 7210 73 15 5
7989 825
562 732 5 911
sort2.out
5 5 15 18 73 86

Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line> def sorteaza_numere(fisier_intrare, fisier_iesire):

   # Deschidem fișierul de intrare și citim numerele
   with open(fisier_intrare, 'r') as fisier:
       # Creăm o listă cu numerele care au cel mult două cifre
       numere = [int(numar) for linie in fisier for numar in linie.split() if len(numar) <= 2]
   # Deschidem fișierul de ieșire pentru a scrie rezultatul
   with open(fisier_iesire, 'w') as fisier:
       # Dacă există numere cu cel mult două cifre, le sortăm și le scriem în fișier
       if numere:
           fisier.write(' '.join(str(numar) for numar in sorted(numere)))
       # Dacă nu există numere cu cel mult două cifre, scriem mesajul "NU EXISTA"
       else:
           fisier.write('NU EXISTA')
  1. Acest cod va fi executat doar dacă scriptul este rulat direct

if __name__ == "__main__":

   # Apelăm funcția cu numele fișierelor de intrare și de ieșire
   sorteaza_numere('sort2.in', 'sort2.out')

</syntaxhighlight>