0893 - Cuvinte0

From Bitnami MediaWiki

Cerinţa

Se dă un șir de caractere format din cuvinte, separate prin spații. Cuvintele conțin doar litere mici ale alfabetului englez. Afișați, în ordine lexicografică, cuvintele distincte din șir.

Date de intrare

Programul citește de la tastatură șirul dat.

Date de ieşire

Programul va afișa pe ecran cuvintele în ordinea cerută, câte un cuvânt pe o linie.

Restricții și precizări

  • șirul dat va avea cel mult 255 de caractere și va conține cel mult 100 de cuvinte
  • lungimea unui cuvânt este de cel mult 15 caractere

Exemplul 1

Intrare
maria are doua pere si ana are doua mere
Ieșire
Datele introduse corespund restricțiilor impuse.
ana
are
doua
maria
mere
pere
si


Exemplul 2

Intrare
acesttextaremaimultde15caractere
Ieșire
Datele introduse nu corespund restricțiilor impuse.


Rezolvare

<syntaxhighlight lang="python" line>

  1. Definim funcția de verificare a valorilor s

def verificare(s_val):

   # Verificăm dacă s respectă restricțiile problemei
   if 1 <= len(s_val) <= 255 and all(c.islower() or c.isspace() for c in s_val):
       # Dacă valorile sunt valide, returnăm True
       return True
   else:
       # Dacă valorile nu sunt valide, ridicăm o excepție
       raise ValueError


  1. Definim funcția pentru afișarea cuvintelor în ordine lexicografică

def afisare_cuvinte(s_afisare):

   # Transformăm șirul în listă de cuvinte
   cuvinte = s_afisare.split()
   # Eliminăm dublurile și ordonăm cuvintele
   cuvinte = sorted(set(cuvinte))
   return cuvinte


if __name__ == '__main__':

   try:
       # Citim șirul de caractere
       s = input("Introduceti sirul de caractere: ")
       # Verificăm dacă datele introduse sunt valide
       if verificare(s):
           # Dacă datele sunt valide, afișăm un mesaj de confirmare
           print("Datele introduse corespund restricțiilor impuse.")
       # Afișăm cuvintele în ordine lexicografică
       for cuvant in afisare_cuvinte(s):
           print(cuvant)
   # Tratăm cazul în care datele introduse nu sunt valide
   except ValueError:
       # Afișăm un mesaj de eroare
       print("Datele introduse nu corespund restricțiilor impuse.")


</syntaxhighlight>