0136 - Numarare Cuvinte: Difference between revisions
Pagină nouă: == 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ă v... |
|||
Line 9: | Line 9: | ||
* propoziția conține doar litere ale alfabetului englez și spații | * 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}''' | * se consideră vocale caracterele din mulțimea '''{a,e,i,o,u,A,E,I,O,U}''' | ||
== | == Exemplul 1 == | ||
; Intrare | ; Intrare | ||
Eratostene a sugerat ca anii bisecti se repeta la fiecare patru ani | Eratostene a sugerat ca anii bisecti se repeta la fiecare patru ani | ||
Line 16: | Line 16: | ||
4 | 4 | ||
<br> | <br> | ||
== Exemplu 2 == | == Exemplu 2 == | ||
; Intrare | ; Intrare |
Revision as of 17:38, 25 December 2023
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
Exemplu 2
- Intrare
Catalin1234!
- Iesire
Datele de intrare nu corespund restrictiilor impuse
Rezolvare
<syntaxhighlight lang="python" line> 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()
</syntaxhighlight>
Explicatie
Cuvintele din propoziție care respectă proprietatea precizată sunt: Eratostene, a, anii, ani.