היי :)
למה עבור
list(generate_shared_substrings("abcdef","xcdefx",3))
אני מקבלת רשימה ריקה?
מניחה שמשהו לא בסדר באחד מהקודים שלי אבל לא מוצאת את הבעיה..
def kr_gen(text,length,basis=216, r=232-3):
fg=fingerprint(text[0:length+1])
yield(fg)
b_power=pow(basis,length-1,r)
for s in range(1,len(text)-length+1):
yield fg
fg=slide(fg,text[s-1],text[s+length-1],b_power)
def generate_shared_substrings(text1,text2,length):
f1=kr_gen(text1,length)
i1=-1
while True:
fp1=next(f1)
i1+=1
f2=kr_gen(text2,length)
i2=-1
while True:
try:
fp2=next(f2)
i2+=1
except StopIteration:
break
if fp1==fp2:
yield(i1,i2)
תודה!