0094 - Eliminare Vocale: Difference between revisions

From Bitnami MediaWiki
Pagină nouă: == 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...
 
No edit summary
 
(One intermediate revision by the same user not shown)
Line 22: Line 22:
<br>
<br>
== Rezolvare ==
== Rezolvare ==
<syntaxhighlight lang="python" line>
<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>

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>