0136 - Numarare Cuvinte

De la Universitas MediaWiki
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

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.