1456 - Cuvant
Cerința
Se consideră un cuvânt format din cel puțin două și cel mult 100 de caractere, numai litere mici ale alfabetului englez. Scrieţi un program care citeşte de la tastatură un cuvânt de tipul precizat și afișează pe ecran mesajul DA în cazul în care cuvântul conține doar consoane şi, eventual, vocala i, sau mesajul NU în caz contrar.
Date de intrare
Programul citește de la tastatură un cuvânt.
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 mesajul DA în cazul în care cuvântul conține doar consoane şi, eventual, vocala i, sau mesajul NU în caz contrar.. În caz contrar, se va afișa mesajul:" Datele de intrare nu corespund restrictiilor impuse".
Restricții și precizări
- cuvântul format din cel puțin două și cel mult 100 de caractere
- cuvântul are numai litere mici ale alfabetului englez
Exemplu 1
- Intrare
- inscriptibil
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- DA
Exemplu 2
- Intrare
- brr
- Ieșire
- DA
Exemplu 3
- Intrare
- inestimabil
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- NU
Exemplu 4
- Intrare
- iii
- Ieșire
- Datele introduse corespund restricțiilor impuse.
- NU
Exemplu 5
- Intrare
- MaGaZIn
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line> def validare(propozitie):
if len(propozitie) > 100: raise ValueError
for caracter in propozitie: if ord(caracter) > ord('z') or ord(caracter) < ord('a'): 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 cuvant(propozitie):
nr_consoane = 0 for litera in propozitie: if vocala(litera) is True and litera != 'i': print("NU") return if vocala(litera) is False: nr_consoane += 1
if nr_consoane == 0: print("NU") return
print("DA")
if __name__ == '__main__':
try: sir = input(f"Introduceti cuvantul ") validare(sir) cuvant(sir)
except ValueError: print("Datele de intrare nu corespund restrictiilor impuse") except IndexError: print("Datele de intrare nu corespund restrictiilor impuse")
</syntaxhighlight>