0085 - Interclasare Asterisc: Difference between revisions

From Bitnami MediaWiki
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,...
Tag: visualeditor
 
Tag: visualeditor
 
(One intermediate revision by the same user not shown)
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>

Latest revision as of 19:12, 25 April 2023

Cerința[edit]

Să se scrie un program care citește un text și inserează după fiecare vocală caracterul "*".

Date de intrare[edit]

Programul citeşte de la tastatură un şir de caractere, reprezentând textul dat.

Date de ieșire[edit]

Programul afişează pe ecran textul obținut.

Restricții și precizări[edit]

  • ş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[edit]

Intrare
ana are mere
Ieșire
a*na* a*re* me*re*
Datele de intrare corespund restricțiilor impuse.

Exemplul 2[edit]

Intrare
QWRTSFG
Ieșire
Datele de intrare nu corespund restricțiilor impuse.
FARA VOCALE

Rezolvare[edit]

<syntaxhighlight lang="python" line="1">

  1. 0085 - Interclasare Asterisc
  2. definim funcția care primește un text și inserează un asterisc după fiecare vocală
  3. 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:
  1. 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>