0892 - Pasareste 1
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>
- 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
- 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>