0892 - Pasareste 1

From Bitnami MediaWiki
Revision as of 16:21, 13 December 2023 by AntalKrisztian (talk | contribs)

Cerinţa

Limba păsărească este foarte simplă; și asemănătoare cu limba română! Un text scris în română se traduce în păsărește astfel: după fiecare vocală se inserează litera p și vocala respectivă.

Se dă o propoziție scrisă în limba păsărească. Să se traducă în limba română.

Date de intrare

Programul citește de la tastatură un șir de caractere s.

Date de ieşire

Programul va afișa pe ecran șirul t, reprezentând traducerea în română a șirului s.

Restricții și precizări

  • șirurile s și t vor avea cel mult 255 de caractere
  • șirul s va conține litere mici ale alfabetului englez și spații
  • vocalele sunt: aeiou
  • șirul dat în limba păsărească este corect

Exemplul 1

Intrare
apanapa aparepe meperepe
Ieșire
Datele introduse corespund restricțiilor impuse.
ana are mere


Exemplul 2

Intrare
78675878576875
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 traducerea din limba păsărească în română

def traducere_pasareasca(s_pasareasca):

   vocale = 'aeiou'
   t = 
   i = 0
   while i < len(s_pasareasca):
       if s_pasareasca[i] in vocale:
           t += s_pasareasca[i]
           i += 3
       else:
           t += s_pasareasca[i]
           i += 1
   return t


  1. Verificăm dacă acest script este rulat direct (nu este importat ca modul)

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.")
       # Traducem șirul din limba păsărească în română și îl afișăm
       print(traducere_pasareasca(s))
   # 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>