0801 - Eliminare Spatii
Cerința
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
Programul va citi de la tastatură şirul dat.
Date de ieșire
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
- șirul dat va conține cel mult
255
caractere, litere mici ale alfabetului englez și spații
Exemplu 1
- Intrare<syntaxhighlight>
in vacanta plec la mare
</syntaxhighlight>Ieșire
- Datele de intrare corespund restricțiilor impuse.
- in vacanta plec la mare
Exemplu 2
- Intrare<syntaxhighlight>
în v4c4nță pl3c l4 m4r3
</syntaxhighlight>Ieșire
- Datele de intrare nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line="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>