0094 - Eliminare Vocale
De la Universitas MediaWiki
Cerința
Se dă un şir de cel mult 20 caractere ce conţine numai litere mici ale alfabetului englez. Să se afişeze şirul obţinut prin eliminarea din șir a fiecărei vocale.
Date de intrare
Programul va citi de la tastatură şirul dat.
Date de ieșire
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 şirul transformat corespunzător. În caz contrar, se va afișa mesajul:" Datele de intrare nu corespund restrictiilor impuse"
Restricții și precizări
- se consideră vocale literele din mulțimea {a,e,i,o,u}
Exemplu 1
- Intrare
- romancier
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- rmncr
Exemplu 2
- Intrare
- BUNA ZIUA!
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare
# 0094 - Eliminare Vocale
def validare(sir_caractere): # functia de validare a datelor de intrare
if len(sir_caractere) > 20:
raise ValueError
# daca dsatele de intrare nu corespund, ridicam eroarea ValueError
for caracter in sir_caractere:
if caracter < 'a' or caracter > 'z': # trebuie sa fie doar litera mica
raise ValueError
print("Datele de intrare corespund restrictiilor impuse")
def vocala(litera): # functia care verifica daca e vocala
if litera in "aeiou":
return True
return False
def vocmax(sir_caracterte): # functia de verificare
sir_fara_vocale = "" # ne creem sirul fara vocale
for caracter in sir_caracterte:
if vocala(caracter) is False: # daca nu e vocala, o adaugam in sir
sir_fara_vocale += caracter
print(sir_fara_vocale) # afisam sirul
if __name__ == '__main__':
# din cauza datelor de intrare pot aparea 2 tipuri de erori, valueError sau IndexError pe care le tratam
try:
cuvant = input("Introduceți șirul de caractere: ") # citirea sirului
validare(cuvant) # apelul functiei de verificare
vocmax(cuvant) # apelul functiei de rezolvare
except ValueError:
print("Datele de intrare nu corespund restrictiilor impuse")
except IndexError:
print("Datele de intrare nu corespund restrictiilor impuse")