0094 - Eliminare Vocale: Difference between revisions
No edit summary |
|||
| Line 22: | Line 22: | ||
<br> | <br> | ||
== Rezolvare == | == Rezolvare == | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line="1"> | ||
# | # 0094 - Eliminare Vocale | ||
def validare(sir_caractere): | def validare(sir_caractere): # functia de validare a datelor de intrare | ||
if len(sir_caractere) > 20: | if len(sir_caractere) > 20: | ||
raise ValueError | raise ValueError | ||
# daca dsatele de intrare nu corespund, ridicam eroarea ValueError | |||
for caracter in sir_caractere: | for caracter in sir_caractere: | ||
if caracter < 'a' or caracter > 'z': | if caracter < 'a' or caracter > 'z': # trebuie sa fie doar litera mica | ||
raise ValueError | raise ValueError | ||
| Line 36: | Line 36: | ||
def vocala(litera): | def vocala(litera): # functia care verifica daca e vocala | ||
if litera in "aeiou": | if litera in "aeiou": | ||
return True | return True | ||
| Line 43: | Line 43: | ||
def vocmax(sir_caracterte): | def vocmax(sir_caracterte): # functia de verificare | ||
sir_fara_vocale = "" | sir_fara_vocale = "" # ne creem sirul fara vocale | ||
for caracter in sir_caracterte: | for caracter in sir_caracterte: | ||
if vocala(caracter) is False: | if vocala(caracter) is False: # daca nu e vocala, o adaugam in sir | ||
sir_fara_vocale += caracter | sir_fara_vocale += caracter | ||
print(sir_fara_vocale) | print(sir_fara_vocale) # afisam sirul | ||
if __name__ == '__main__': | if __name__ == '__main__': | ||
# din cauza datelor de intrare pot aparea 2 tipuri de erori, valueError sau IndexError pe care le tratam | |||
try: | try: | ||
cuvant = input("Introduceți șirul de caractere: ") | cuvant = input("Introduceți șirul de caractere: ") # citirea sirului | ||
validare(cuvant) | validare(cuvant) # apelul functiei de verificare | ||
vocmax(cuvant) | vocmax(cuvant) # apelul functiei de rezolvare | ||
except ValueError: | except ValueError: | ||
| Line 67: | Line 67: | ||
except IndexError: | except IndexError: | ||
print("Datele de intrare nu corespund restrictiilor impuse") | print("Datele de intrare nu corespund restrictiilor impuse") | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Latest revision as of 19:29, 2 May 2023
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
<syntaxhighlight lang="python" line="1">
- 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")
</syntaxhighlight>