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[edit | edit source]
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[edit | edit source]
Programul va citi de la tastatură şirul 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 şirul transformat corespunzător. În caz contrar, se va afișa mesajul:" Datele de intrare nu corespund restrictiilor impuse"
Restricții și precizări[edit | edit source]
- se consideră vocale literele din mulțimea {a,e,i,o,u}
Exemplu 1[edit | edit source]
- Intrare
- romancier
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- rmncr
Exemplu 2[edit | edit source]
- Intrare
- BUNA ZIUA!
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare[edit | edit source]
<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>