0011 - Vocale
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): # 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>