3904 - SeqCuts

De la Universitas MediaWiki
Versiunea din 2 iunie 2024 17:26, autor: Benzar Ioan (discuție | contribuții) (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...)
(dif) ← Versiunea anterioară | Versiunea curentă (dif) | Versiunea următoare → (dif)

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

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