0094 - Eliminare Vocale: Difference between revisions

From Bitnami MediaWiki
No edit summary
 
Line 22: Line 22:
<br>
<br>
== Rezolvare ==
== Rezolvare ==
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line="1">
# 2635 CapsLock
# 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">

  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>