0200 - Eliminare Subsir 1

From Bitnami MediaWiki
Revision as of 18:13, 25 December 2023 by Hotico Iulia Denisa (talk | contribs) (→‎Exemplu 2)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerinţa

Se dau două şiruri de caractere s şi t. Să se elimine din s toate apariţiile lui t.

Date de intrare

Programul citește de la tastatură cele două şiruri, s, respectiv t, separate prin caracterul NewLine.

Date de ieșire

Programul afișează pe ecran şirul s, obţinut după transformarea cerută.

Restricţii şi precizări

  • cele două şiruri conţin cel mult 255 caractere.

Exemplul 1

Intrare
ana si mariana canta la nai
na
Iesire
Datele de intrare corespund restrictiilor impuse
ana si mariana canta la i


Exemplul 2

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

<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>