0801 - Eliminare Spatii: Difference between revisions

From Bitnami MediaWiki
mNo edit summary
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 7: Line 7:
Programul va citi de la tastatură şirul dat.
Programul va citi de la tastatură şirul dat.
==Date de ieșire==
==Date de ieșire==
Programul va afişa pe ecran şirul transformat corespunzător.
Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse."
 
Pe următorul rând se va afișa şirul transformat corespunzător.
 
În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse."


==Restricții și precizări==
==Restricții și precizări==
Line 17: Line 21:
     in vacanta plec    la        mare
     in vacanta plec    la        mare
</syntaxhighlight>Ieșire
</syntaxhighlight>Ieșire
:Datele de intrare corespund restricțiilor impuse.
:in vacanta plec la mare
:in vacanta plec la mare


Line 23: Line 28:
     în v4c4nță pl3c    l4        m4r3
     în v4c4nță pl3c    l4        m4r3
</syntaxhighlight>Ieșire
</syntaxhighlight>Ieșire
:Date de intrare gresite!
:Datele de intrare nu corespund restricțiilor impuse.


==Rezolvare==
==Rezolvare==
Line 32: Line 37:


def conditii(sir):
def conditii(sir):
    # Regex care acceptă doar litere din alfabetul englez, caracterul spațiu și are lungimea maximă de 255 de caractere
     return re.match(r"^[a-z ]{0,255}$", sir)
     return re.match(r"^[a-z ]{0,255}$", sir)




def main():
def eliminare_spatii(sir):
     sir = input()
     # Funcția strip() elimină spațiile de la începutul și sfârșitul unui șir de caractere.
 
    # Funcția split() împarte un șir de caractere în funcție de un parametru dat. Dacă nu este dat niciun parametru,
     if not conditii(sir):
     # șirul este împărțit după caracterul spațiu.
        return print("Date de intrare gresite!")
    # Dacă există mai multe spații consecutive, funcția split() le va considera ca un singur spațiu.
 
    # Funcția join() îmbină elementele unei liste într-un șir de caractere, folosind un parametru dat. În acest caz,
    # parametru dat este spațiu.
     print(" ".join(sir.strip().split()))
     print(" ".join(sir.strip().split()))




if __name__ == "__main__":
if __name__ == "__main__":
     main()
     sir = input()
 
    if not conditii(sir):
        print("Datele de intrare nu corespund restricțiilor impuse.")
    else:
        print("Datele de intrare corespund restricțiilor impuse.")
        eliminare_spatii(sir)


</syntaxhighlight>
</syntaxhighlight>

Latest revision as of 15:23, 5 May 2023

Cerința[edit | edit source]

Se dă un şir de caractere ce conţine cuvinte formate din litere mici ale alfabetului englez, separate prin unul sau mai multe spații.

Să se afişeze şirul obţinut după eliminarea din șir unor spații, astfel încât între cuvinte să fie un singur spațiu și să nu nu existe spații înainte de primul cuvânt și nici după ultimul.

Date de intrare[edit | edit source]

Programul va citi de la tastatură şirul dat.

Date de ieșire[edit | edit source]

Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse."

Pe următorul rând se va afișa şirul transformat corespunzător.

În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Datele de intrare nu corespund restricțiilor impuse."

Restricții și precizări[edit | edit source]

  • șirul dat va conține cel mult 255 caractere, litere mici ale alfabetului englez și spații

Exemplu 1[edit | edit source]

Intrare<syntaxhighlight>
   in vacanta plec    la         mare

</syntaxhighlight>Ieșire

Datele de intrare corespund restricțiilor impuse.
in vacanta plec la mare

Exemplu 2[edit | edit source]

Intrare<syntaxhighlight>
   în v4c4nță pl3c    l4         m4r3

</syntaxhighlight>Ieșire

Datele de intrare nu corespund restricțiilor impuse.

Rezolvare[edit | edit source]

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

  1. 0801 Eliminare Spatii

import re


def conditii(sir):

   # Regex care acceptă doar litere din alfabetul englez, caracterul spațiu și are lungimea maximă de 255 de caractere
   return re.match(r"^[a-z ]{0,255}$", sir)


def eliminare_spatii(sir):

   # Funcția strip() elimină spațiile de la începutul și sfârșitul unui șir de caractere.
   # Funcția split() împarte un șir de caractere în funcție de un parametru dat. Dacă nu este dat niciun parametru,
   # șirul este împărțit după caracterul spațiu.
   # Dacă există mai multe spații consecutive, funcția split() le va considera ca un singur spațiu.
   # Funcția join() îmbină elementele unei liste într-un șir de caractere, folosind un parametru dat. În acest caz,
   # parametru dat este spațiu.
   print(" ".join(sir.strip().split()))


if __name__ == "__main__":

   sir = input()
   if not conditii(sir):
       print("Datele de intrare nu corespund restricțiilor impuse.")
   else:
       print("Datele de intrare corespund restricțiilor impuse.")
       eliminare_spatii(sir)

</syntaxhighlight>