0085 - Interclasare Asterisc: Difference between revisions
Adina Timiș (talk | contribs) Pagină nouă: ==Cerința== Să se scrie un program care citește un text și inserează după fiecare vocală caracterul "*". ==Date de intrare== Programul citeşte de la tastatură un şir de caractere, reprezentând textul dat. ==Date de ieșire== Programul afişează pe ecran textul obținut. ==Restricții și precizări== *şirul de caractere citit va conţine cel mult 100 de caractere, litere mici ale alfabetului englez și spații; *se consideră vocale următoarele caractere: a, e,... |
Adina Timiș (talk | contribs) No edit summary |
||
Line 23: | Line 23: | ||
:FARA VOCALE | :FARA VOCALE | ||
==Rezolvare== | ==Rezolvare== | ||
<syntaxhighlight lang="python" line=""> | <syntaxhighlight lang="python" line="1"> | ||
#0085 - Interclasare Asterisc | #0085 - Interclasare Asterisc | ||
# definim funcția care primește un text și inserează un asterisc după fiecare vocală | |||
# cu excepția literelor majuscule | |||
def inserare_vocale(text): | def inserare_vocale(text): | ||
vocale = "aeiou" | vocale = "aeiou" # definim o variabilă care conține toate vocalele | ||
text_nou = "" | text_nou = "" # definim un șir vid pentru a stoca textul modificat | ||
for litera in text: | for litera in text: | ||
text_nou += litera | text_nou += litera # adăugăm litera la textul modificat | ||
if litera.lower() in vocale: | if litera.lower() in vocale: # dacă litera este vocală, adăugăm un asterisc după ea | ||
text_nou += "*" | text_nou += "*" | ||
return text_nou | return text_nou # returnăm textul modificat | ||
if __name__ == '__main__': | if __name__ == '__main__': | ||
text = input("Introduceți textul: ") | text = input("Introduceți textul: ") | ||
text_fara_spatii = text.replace(" ", "") | text_fara_spatii = text.replace(" ", "") # eliminăm spațiile din text | ||
if not any(litera.lower() in "aeiou" for litera in text_fara_spatii): | if not any(litera.lower() in "aeiou" for litera in text_fara_spatii): # verificăm dacă textul | ||
# conține cel puțin o vocală | |||
print("Datele de intrare nu corespund restricțiilor impuse.") | print("Datele de intrare nu corespund restricțiilor impuse.") | ||
print("FARA VOCALE") | print("FARA VOCALE") | ||
else: | else: | ||
text_inserat = inserare_vocale(text) | # apelăm funcția 'inserare_vocale' pentru a modifica textul | ||
print(text_inserat) | text_inserat = inserare_vocale(text) | ||
print(text_inserat) # afișăm textul modificat | |||
print("Datele de intrare corespund restricțiilor impuse.") | print("Datele de intrare corespund restricțiilor impuse.") | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 19:09, 25 April 2023
Cerința
Să se scrie un program care citește un text și inserează după fiecare vocală caracterul "*".
Date de intrare
Programul citeşte de la tastatură un şir de caractere, reprezentând textul dat.
Date de ieșire
Programul afişează pe ecran textul obținut.
Restricții și precizări
- şirul de caractere citit va conţine cel mult 100 de caractere, litere mici ale alfabetului englez și spații;
- se consideră vocale următoarele caractere: a, e, i, o, u;
- dacă cuvântul nu conține vocale se va afișa doar mesajul "FARA VOCALE";
Exemplul 1
- Intrare
- ana are mere
- Ieșire
- a*na* a*re* me*re*
- Datele de intrare corespund restricțiilor impuse.
Exemplul 2
- Intrare
- QWRTSFG
- Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
- FARA VOCALE
Rezolvare
<syntaxhighlight lang="python" line="1">
- 0085 - Interclasare Asterisc
- definim funcția care primește un text și inserează un asterisc după fiecare vocală
- cu excepția literelor majuscule
def inserare_vocale(text):
vocale = "aeiou" # definim o variabilă care conține toate vocalele text_nou = "" # definim un șir vid pentru a stoca textul modificat for litera in text: text_nou += litera # adăugăm litera la textul modificat if litera.lower() in vocale: # dacă litera este vocală, adăugăm un asterisc după ea text_nou += "*" return text_nou # returnăm textul modificat
if __name__ == '__main__':
text = input("Introduceți textul: ") text_fara_spatii = text.replace(" ", "") # eliminăm spațiile din text if not any(litera.lower() in "aeiou" for litera in text_fara_spatii): # verificăm dacă textul # conține cel puțin o vocală print("Datele de intrare nu corespund restricțiilor impuse.") print("FARA VOCALE") else:
- apelăm funcția 'inserare_vocale' pentru a modifica textul
text_inserat = inserare_vocale(text) print(text_inserat) # afișăm textul modificat print("Datele de intrare corespund restricțiilor impuse.")
</syntaxhighlight>