Python ile En Uzun Tekrar Eden Alt Dize Bulma
Kullanıcının girdiği metindeki en uzun tekrar eden alt diziyi bulan Python programı.
def find_longest_repeating_substring(str):
length = len(str)
en_uzun_alt_dizi = ""
for i in range(length):
for j in range(i + 1, length):
alt_dizi = str[i:j]
tekrar_sayisi = count_occurrences(str, alt_dizi)
if tekrar_sayisi > 1 and len(alt_dizi) > len(en_uzun_alt_dizi):
en_uzun_alt_dizi = alt_dizi
return en_uzun_alt_dizi
def count_occurrences(str, sub_str):
count = 0
i = 0
while i != -1:
i = str.find(sub_str, i)
if i != -1:
i += len(sub_str)
count += 1
return count
if __name__ == "__main__":
metin = input("Metni girin: ")
en_uzun_alt_dizi = find_longest_repeating_substring(metin)
print("En uzun tekrar eden alt dize:", en_uzun_alt_dizi)
Python ile Verilen metindeki en uzun tekrar eden alt diziyi bulan fonksiyon.
def find_longest_repeating_substring(str):
length = len(str)
en_uzun_alt_dizi = ""
for i in range(length):
for j in range(i + 1, length):
alt_dizi = str[i:j] # Metinden alt dizi oluştur.
tekrar_sayisi = count_occurrences(str, alt_dizi) # Alt dizenin tekrar sayısını hesapla.
if tekrar_sayisi > 1 and len(alt_dizi) > len(en_uzun_alt_dizi):
en_uzun_alt_dizi = alt_dizi # En uzun alt dizeyi güncelle.
return en_uzun_alt_dizi
Python ile Verilen metinde alt dizinin kaç kez tekrar ettiğini bulan fonksiyon.
def count_occurrences(str, sub_str):
count = 0
i = 0
while i != -1:
i = str.find(sub_str, i) # Alt dizenin başlangıç indeksini bul.
if i != -1:
i += len(sub_str) # Alt dizenin sonraki indeksinden aramaya devam et.
count += 1
return count
Python ile Python ile Kullanıcıdan metin girişi al.
if __name__ == "__main__":
metin = input("Metni girin: ")
Python ile En uzun tekrar eden alt dizeyi bul.
en_uzun_alt_dizi = find_longest_repeating_substring(metin)
Python ile Sonucu ekrana yazdır.
print("En uzun tekrar eden alt dize:", en_uzun_alt_dizi)