code-neon

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)