0200 - Eliminare Subsir 1
Cerinţa[edit | edit source]
Se dau două şiruri de caractere s şi t. Să se elimine din s toate apariţiile lui t.
Date de intrare[edit | edit source]
Programul citește de la tastatură cele două şiruri, s, respectiv t, separate prin caracterul NewLine.
Date de ieșire[edit | edit source]
Programul afișează pe ecran şirul s, obţinut după transformarea cerută.
Restricţii şi precizări[edit | edit source]
- cele două şiruri conţin cel mult 255 caractere.
Exemplul 1[edit | edit source]
- Intrare
ana si mariana canta la nai na
- Iesire
Datele de intrare corespund restrictiilor impuse ana si mariana canta la i
Exemplul 2[edit | edit source]
- Intrare
Loremipsumdolorsitamet,consecteturadipiscingelit.Nullafacilisi.Vestibulumeuismodnequeeumetusrhoncus,neciaculispurussollicitudin.Quisquecondimentum,lacusidsuscipitvestibulum,odiosemegestasnunc,velaliquetpuruseratnecelit.Nullamelementumleoacorcicongue,infringillanisleuismod.Sedaliquet,elit eupellentesqueaccumsanjusitocursuslacus,idhendreritnisl.
- Iesire
Datele de intrare nu corespund restrictiilor impuse
Rezolvare[edit | edit source]
<syntaxhighlight lang="python" line> def main():
# Citirea șirurilor de la tastatură s = input().strip() t = input().strip()
# Verifică dacă șirurile respectă restricțiile if len(s) > 255 or len(t) > 255: print("Datele de intrare nu corespund restrictiilor impuse") return
print("Datele de intrare corespund restrictiilor impuse")
# Găsirea ultimei apariții a lui t în s pozitie = s.rfind(t)
# Verificarea dacă t a fost găsit în s if pozitie != -1: # Eliminarea ultimei apariții a lui t din s s_nou = s[:pozitie] + s[pozitie + len(t):] else: s_nou = s
# Afișarea noului șir print(s_nou)
if __name__ == "__main__":
main()
</syntaxhighlight>