0136 - Numarare Cuvinte: Diferență între versiuni

De la Universitas MediaWiki
 
Linia 17: Linia 17:
<br>
<br>


== Exemplu 2 ==
== Exemplul 2 ==
; Intrare
; Intrare
  Catalin1234!
  Catalin1234!
Linia 23: Linia 23:
  Datele de intrare nu corespund restrictiilor impuse
  Datele de intrare nu corespund restrictiilor impuse
<br>
<br>
== Rezolvare ==
== Rezolvare ==
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>

Versiunea curentă din 25 decembrie 2023 17:38

Cerinţa

Să se scrie un program care citește o propoziție și determină numărul de cuvinte din propoziție care încep și se termină cu vocală.

Date de intrare

Programul citește de la tastatură o propoziție.

Date de ieșire

Programul afișează pe ecran valoarea cerută.

Restricţii şi precizări

  • propoziția va conține cel mult 150 de caractere;
  • propoziția conține doar litere ale alfabetului englez și spații
  • se consideră vocale caracterele din mulțimea {a,e,i,o,u,A,E,I,O,U}

Exemplul 1

Intrare
Eratostene a sugerat ca anii bisecti se repeta la fiecare patru ani
Iesire
Datele de intrare corespund restrictiilor impuse
4


Exemplul 2

Intrare
Catalin1234!
Iesire
Datele de intrare nu corespund restrictiilor impuse


Rezolvare

def main():
    # Citirea propoziției de la tastatură
    propozitie = input().strip()

    # Verifică dacă propoziția respectă restricțiile
    if len(propozitie) > 150:
        print("Datele de intrare nu corespund restrictiilor impuse")
        return
    if any(not caracter.isalpha() and not caracter.isspace() for caracter in propozitie):
        print("Datele de intrare nu corespund restrictiilor impuse")
        return

    print("Datele de intrare corespund restrictiilor impuse")

    # Determinarea numărului de cuvinte din propoziție care încep și se termină cu vocală
    vocale = 'aeiouAEIOU'
    cuvinte = propozitie.split()
    cuvinte_vocale = [cuvant for cuvant in cuvinte if cuvant[0] in vocale and cuvant[-1] in vocale]

    # Afișarea numărului de cuvinte care încep și se termină cu vocală
    print(len(cuvinte_vocale))


if __name__ == "__main__":
    main()

Explicatie

Cuvintele din propoziție care respectă proprietatea precizată sunt: Eratostene, a, anii, ani.