2582 - Secv Elim
Cerința[edit | edit source]
Se dă un șir de caractere care conține doar litere mici și mari ale alfabetului englez. Se parcurge șirul de la stânga la dreapta și dacă se întâlnește o secvență de litere alăturate egale, se șterge. Dacă în urma acestei operații se obține o nouă secvență de litere egale, se șterge și ea, ș. a. m. d.
Să se afișeze șirul obținut.
Date de intrare[edit | edit source]
Programul citește de la tastatură un șir de caractere.
Date de iesire[edit | edit source]
Programul va afișa pe ecran șirul obținut.
Restricții și precizări[edit | edit source]
- șirul dat conține maximum 255 de caractere
- nu se face diferență între literele mari și mici.
Exemplu[edit | edit source]
Intrare
aAcboOoBcAXa
Ieșire
AXa
Rezolvare[edit | edit source]
<syntaxhighlight lang="python"> def elimina_duplicate_consecutive(s):
if len(s) > 255: print("Eroare: Lungimea șirului depășește 255 de caractere.") return None
i = 0
while i < len(s) - 1: if s[i].lower() == s[i + 1].lower(): c = s[i].lower() j = i + 1 while j < len(s) and s[j].lower() == c: j += 1 s = s[:i] + s[j:] i = -1 i += 1
return s
if __name__ == "__main__":
input_str = input("Introduceți șirul: ") result = elimina_duplicate_consecutive(input_str) if result is not None: print(result)
</syntaxhighlight>