0892 - Pasareste 1: Difference between revisions

From Bitnami MediaWiki
No edit summary
No edit summary
 
Line 53: Line 53:




# Verificăm dacă acest script este rulat direct (nu este importat ca modul)
if __name__ == '__main__':
if __name__ == '__main__':
     try:
     try:

Latest revision as of 14:29, 14 December 2023

Cerinţa[edit]

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[edit]

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

Date de ieşire[edit]

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

Restricții și precizări[edit]

  • ș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[edit]

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


Exemplul 2[edit]

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


Rezolvare[edit]

<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


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>