0011 - Vocale

From Bitnami 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 înlocuirea fiecărei vocale cu litera mare corespunzătoare.

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 se 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 multimea {a,e,i,o,u}

Exemplu 1

Intrare
romancier
Ieșire
Datele introduse corespund restricțiilor impuse.
rOmAncIEr


Exemplu 2

Intrare
pătrat
Ieșire
Datele de intrare nu corespund restricțiilor impuse.


Rezolvare

<syntaxhighlight lang="python" line>

  1. 0011 Vocale

def validare(propozitie):

   if len(propozitie) > 20:
       raise ValueError
   for caracter in propozitie:
       if ord(caracter) < ord('a') and caracter != ' ':
           raise ValueError
   print("Datele de intrare corespund restrictiilor impuse")
   return True


def vocala(litera):

   lista_vocale = "aeiou"
   if litera in lista_vocale:
       return True
   else:
       return False


def vocale(propozitie):

   for litera in propozitie:
       if vocala(litera) is True:
           print(chr(ord(litera) - 32), end="")
       else:
           print(litera, end="")


if __name__ == '__main__':


   try:
       sir = input(f"Introduceti sirul ")
       validare(sir)
       vocale(sir)
   except ValueError:
       print("Datele de intrare nu corespund restrictiilor impuse")
   except IndexError:
       print("Datele de intrare nu corespund restrictiilor impuse")

</syntaxhighlight>