3904 - SeqCuts

From Bitnami MediaWiki
Revision as of 17:26, 2 June 2024 by Benzar Ioan (talk | contribs) (Pagină nouă: == Cerința == Într-un tărâm digital, există o aplicație numită SeqCuts, care ajută programatorii să manipuleze și să analizeze siruri de caractere. Programatorii pot folosi SeqCuts pentru a găsi și a înlocui secvențe de caractere în cadrul unui text. Sarcina este de a implementa această funcționalitate pentru a ajuta utilizatorii să manipuleze siruri de caractere conform cerințelor. == Date de intrare == Programul citește de la tastatură: Un șir de car...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerința

Într-un tărâm digital, există o aplicație numită SeqCuts, care ajută programatorii să manipuleze și să analizeze siruri de caractere. Programatorii pot folosi SeqCuts pentru a găsi și a înlocui secvențe de caractere în cadrul unui text. Sarcina este de a implementa această funcționalitate pentru a ajuta utilizatorii să manipuleze siruri de caractere conform cerințelor.

Date de intrare

Programul citește de la tastatură:

Un șir de caractere text reprezentând textul original. Un șir de caractere old_seq reprezentând secvența de înlocuit. Un șir de caractere new_seq reprezentând secvența cu care se înlocuiește.

Date de ieșire

Pe ecran se va afișa textul modificat în care toate aparițiile secvenței old_seq au fost înlocuite cu new_seq.

Restricții și precizări

  • 1 ⩽ text ⩽ 1000
  • 1 ⩽ old_seq ⩽ 100
  • 1 ⩽ new_seq ⩽ 100

old_seq si new_seq pot contine orice caractere.

Exemplu 1

Intrare

SeqCuts este util
util
super

Iesire

SeqCuts este super

Datele de intrare nu corespund restricțiilor impuse.

Rezolvare

<syntaxhighlight lang="python" line> def citeste_date():

   text = input("Introduceți textul original: ")
   old_seq = input("Introduceți secvența de înlocuit: ")
   new_seq = input("Introduceți secvența nouă: ")
   return text, old_seq, new_seq

def valideaza_date(text, old_seq, new_seq):

   if 1 <= len(text) <= 1000 and 1 <= len(old_seq) <= 100 and 1 <= len(new_seq) <= 100:
       return True
   return False

def inlocuieste_secventa(text, old_seq, new_seq):

   text_modificat = text.replace(old_seq, new_seq)
   return text_modificat

def main():

   text, old_seq, new_seq = citeste_date()
   
   if not valideaza_date(text, old_seq, new_seq):
       print("Datele de intrare nu corespund restricțiilor impuse.")
       return
   
   print("Datele de intrare corespund restricțiilor impuse.")
   text_modificat = inlocuieste_secventa(text, old_seq, new_seq)
   print(text_modificat)

if __name__ == "__main__":

   main()

</syntaxhighlight>