0095 - Perechi Vocale
Cerința[edit | edit source]
Se dă un șir de caractere reprezentând o propoziție formată din litere mici ale alfabetului englez și spații. Determinați numărul de perechi de vocale consecutive din propoziție.
Date de intrare[edit | edit source]
Programul citește de la tastatură propoziția dată.
Date de ieșire[edit | edit source]
Dacă datele sunt introduse corect, pe ecran se va afișa: " Datele de intrare corespund restrictiilor impuse", apoi pe un rand nou va afișa numărul de perechi de vocale consecutive. În caz contrar, se va afișa mesajul:" Datele de intrare nu corespund restrictiilor impuse".
Restricții și precizări[edit | edit source]
- -șirul de caractere citit conține cel mult 255 de caractere
- -se consideră vocale caracterele din mulțimea {a,e,i,o,u}
Exemplu 1[edit | edit source]
- Intrare
- aceasta familie are doua case
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- 4
Exemplu 2[edit | edit source]
- Intrare
- 123
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line="1">
- 0095 PerechiVocale
def validare(propozitie): # functia de validare a datelor de intrare
if len(propozitie) > 255: raise ValueError # daca dsatele de intrare nu corespund, ridicam eroarea ValueError for litera in propozitie: if litera < 'a' or litera > 'z': # trebuie sa fie litera sau spatiu if litera != ' ': raise ValueError
print("Datele de intrare corespund restrictiilor impuse") return True
def vocala(litera): # functie ce verifica daca litera e vocala
lista_vocale = "aeiouAEIOU" if litera in lista_vocale: return True else: return False
def perechivocale(propozitie): # functia de rezolvare
nr_perechi = 0 # variabila in care numaram perechile
for i in range(len(propozitie)-1): # parcurgem propozitia if vocala(propozitie[i]) is True and vocala(propozitie[i+1]) is True: # daca si caracterul curent si urmatorul sunt vocale, numaram perechea nr_perechi += 1
print(nr_perechi)
if __name__ == '__main__':
# din cauza datelor de intrare pot aparea 2 tipuri de erori, valueError sau IndexError pe care le tratam try: cuv = input(f"Introduceti textul ") # citirea textului validare(cuv) # apelul validarii perechivocale(cuv) # apelul functiei de rezolvare
except ValueError: print("Datele de intrare nu corespund restrictiilor impuse") except IndexError: print("Datele de intrare nu corespund restrictiilor impuse")
</syntaxhighlight>