0085 - Interclasare Asterisc

De la Universitas MediaWiki

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

#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.")