1456 - Cuvant: Difference between revisions

From Bitnami MediaWiki
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...
 
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 15: Line 15:
: Datele introduse corespund restricțiilor impuse.
: Datele introduse corespund restricțiilor impuse.
: DA
: DA
<br>
== Exemplu 2 ==
== Exemplu 2 ==
; Intrare
; Intrare
Line 27: Line 26:
: Datele introduse corespund restricțiilor impuse.
: Datele introduse corespund restricțiilor impuse.
: NU
: NU
<br>
== Exemplu 4 ==
== Exemplu 4 ==
; Intrare
; Intrare
Line 41: Line 39:
<br>
<br>
== Rezolvare ==
== Rezolvare ==
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line="1">
# 1456 Cuvant
# 1456 - Cuvant
def validare(propozitie):
def validare(propozitie):   # functia de verificare a datelor de intrare
     if len(propozitie) > 100:
     if len(propozitie) > 100:
         raise ValueError
         raise ValueError
 
    # daca dsatele de intrare nu corespund, ridicam eroarea ValueError
     for caracter in propozitie:
     for caracter in propozitie:       # verificam sa fie litera mica
         if ord(caracter) > ord('z') or ord(caracter) < ord('a'):
         if ord(caracter) > ord('z') or ord(caracter) < ord('a'):
             raise ValueError
             raise ValueError
Line 55: Line 53:




def vocala(litera):
def vocala(litera):             # functie de verificare vocale
     lista_vocale = "aeiou"
     lista_vocale = "aeiou"
     if litera in lista_vocale:
     if litera in lista_vocale:
Line 65: Line 63:
def cuvant(propozitie):
def cuvant(propozitie):


     nr_consoane = 0
     nr_consoane = 0         # trebuie sa numaram cate consoane are cuvantul
     for litera in propozitie:
     for litera in propozitie:
         if vocala(litera) is True and litera != 'i':
         if vocala(litera) is True and litera != 'i':   # daca e vocala si nu e i atunci cuvantul nu e valid
             print("NU")
             print("NU")
             return
             return
         if vocala(litera) is False:
         if vocala(litera) is False:             # numaram consoanele
             nr_consoane += 1
             nr_consoane += 1


     if nr_consoane == 0:
     if nr_consoane == 0:       # daca nu sunt consoane, cuvantul nu e valid
         print("NU")
         print("NU")
         return
         return


     print("DA")
     print("DA")     # daca am trecut de verificari, e valid




if _name_ == '_main_':
if __name__ == '__main__':
 
    # din cauza datelor de intrare pot aparea 2 tipuri de erori, valueError sau IndexError pe care le tratam
     try:
     try:
         sir = input(f"Introduceti cuvantul ")
         sir = input(f"Introduceti cuvantul ")       # citirea cuvantului
         validare(sir)
         validare(sir)       # apelul functiei de validare
         cuvant(sir)
         cuvant(sir)         # apelul functiei de rezolvare


     except ValueError:
     except ValueError:
Line 91: Line 89:
     except IndexError:
     except IndexError:
         print("Datele de intrare nu corespund restrictiilor impuse")
         print("Datele de intrare nu corespund restrictiilor impuse")
</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 18:44, 2 May 2023

Cerința[edit | edit source]

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

Programul citește de la tastatură un cuvânt.

Date de ieșire[edit | edit source]

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

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

Intrare
inscriptibil
Ieșire
Datele introduse corespund restricțiilor impuse.
DA

Exemplu 2[edit | edit source]

Intrare
brr
Ieșire
DA

Exemplu 3[edit | edit source]

Intrare
inestimabil
Ieșire
Datele introduse corespund restricțiilor impuse.
NU

Exemplu 4[edit | edit source]

Intrare
iii
Ieșire
Datele introduse corespund restricțiilor impuse.
NU

Exemplu 5[edit | edit source]

Intrare
MaGaZIn
Ieșire
Datele de intrare nu corespund restricțiilor impuse.


Rezolvare[edit | edit source]

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

  1. 1456 - Cuvant

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

   if len(propozitie) > 100:
       raise ValueError
   # daca dsatele de intrare nu corespund, ridicam eroarea ValueError
   for caracter in propozitie:       # verificam sa fie litera mica
       if ord(caracter) > ord('z') or ord(caracter) < ord('a'):
           raise ValueError
   print("Datele de intrare corespund restrictiilor impuse")
   return True


def vocala(litera): # functie de verificare vocale

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


def cuvant(propozitie):

   nr_consoane = 0         # trebuie sa numaram cate consoane are cuvantul
   for litera in propozitie:
       if vocala(litera) is True and litera != 'i':    # daca e vocala si nu e i atunci cuvantul nu e valid
           print("NU")
           return
       if vocala(litera) is False:             # numaram consoanele
           nr_consoane += 1
   if nr_consoane == 0:        # daca nu sunt consoane, cuvantul nu e valid
       print("NU")
       return
   print("DA")     # daca am trecut de verificari, e valid


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 cuvantul ")       # citirea cuvantului
       validare(sir)       # apelul functiei de validare
       cuvant(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>