1456 - Cuvant

From Bitnami MediaWiki
Revision as of 13:07, 27 March 2023 by Hotico Iulia Denisa (talk | contribs) (Pagină nouă: == 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 intro...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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>

  1. 1456 Cuvant

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>