0011 - Vocale

From Bitnami MediaWiki
Revision as of 17:44, 2 May 2023 by Hotico Iulia Denisa (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerința[edit]

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[edit]

Programul va citi de la tastatură şirul dat.

Date de ieșire[edit]

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[edit]

se consideră vocale literele din multimea {a,e,i,o,u}

Exemplu 1[edit]

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


Exemplu 2[edit]

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


Rezolvare[edit]

<syntaxhighlight lang="python" line="1">

  1. 0011 Vocale

def validare(propozitie): # functia de validare a datelor de intrare

   if len(propozitie) > 20:
       raise ValueError
   for caracter in propozitie:         # verificam caracterele sa fie doar litere mici si spatii
       if (ord(caracter) < ord('a') or ord(caracter) > ord('z')) and caracter != ' ':
           raise ValueError
   print("Datele de intrare corespund restrictiilor impuse")
   return True


def vocala(litera): # functia de verificare daca litera e vocala

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


def vocale(propozitie): # functia de rezolvare

   for litera in propozitie:
       if vocala(litera) is True:
           print(chr(ord(litera) - 32), end="")
           # daca e vocala scadem din codul ascii 32 ca sa obtinem echivalentul literei in litera mare
       else:
           print(litera, end="")


if __name__ == '__main__':

   # din cauza datelor de intrare pot aparea 2 tipuri de erori, valueError sau IndexError pe care le tratam
   try:
       sir = input(f"Introduceti sirul ")          # citirea propozitiei
       validare(sir)                               # apelul functiei de validare
       vocale(sir)                                 # 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>