Pomoże ktoś? Musi być w Pythonie



Pomoże Ktoś Musi Być W Pythonie class=

Odpowiedź :

Odpowiedź:

napis = "TCTAACAGCCCCATATCGGG"

wzorzec = "CAT"

licznik = 0

for i in range(len(napis)-2):

   print(napis[i:i+3])

   if napis[i:i+3] == wzorzec:

       licznik += 1

       print("Wzorzec odnaleziony w", i, "iteracji")

print("Wzorzec odnaleziony", licznik, "razy")

Wyjaśnienie:

Algorytm naiwny przeszukuje po kolei napis szukając wzorca. Etap algorytmu zinterpretowałem jako iteracja pętli tzn. moment, w którym w końcu znajdujemy wzorzec

Meril

def ileWystapien(tekst, wzorzec):

licznik = 0

for i in range(0, len(tekst)):

 j = 0;

 while (j < len(wzorzec) and tekst[i + j] == wzorzec[j]):

  j += 1

 if (j > 0 and j == len(wzorzec)):

  licznik += 1

   

return licznik

def ileWystapienTEST(tekst, wzorzec):

print('W tekscie sekwencja wystepuje ' + str(ileWystapien(tekst, wzorzec)) + ' razy')

tekst = 'TCTAACAGCCCCATATCGGG'

ileWystapienTEST(tekst, 'CAT')