Visualize
main.py
import re import itertools # ===================================================================== # 1. METİN TEMİZLEME VE STANDARDİZASYON SİSTEMİ # ===================================================================== def harfi_standardize_et(metin): if not metin: return "" harekeler = re.compile(r'[\u064B-\u065F\u0670\u06D6-\u06ED]') temiz = harekeler.sub('', metin) temiz = re.sub(r'[\u00A0\u2000-\u200A\u202F\u205F\u3000]', ' ', temiz) temiz = re.sub(r'[\d\u0660-\u0669]', '', temiz) temiz = re.sub(r'ء', '', temiz) temiz = re.sub(r'[a-zA-Z]', '', temiz) donusum = { 'آ': 'ا', 'أ': 'ا', 'إ': 'ا', 'ى': 'ي', 'ؤ': 'و', 'ئ': 'ي', 'ة': 'ه' } temiz = "".join([donusum.get(harf, harf) for harf in temiz]) metin_filtresi = re.compile(r'[^\s\u0621-\u064A]') temiz = metin_filtresi.sub('', temiz) return temiz.strip() # Ortak Alfabe Tanımları STANDART_ALFABE = { 'ا': 1, 'ب': 2, 'ت': 3, 'ث': 4, 'ج': 5, 'ح': 6, 'خ': 7, 'د': 8, 'ذ': 9, 'ر': 10, 'ز': 11, 'س': 12, 'ش': 13, 'ص': 14, 'ض': 15, 'ط': 16, 'ظ': 17, 'ع': 18, 'غ': 19, 'ف': 20, 'ق': 21, 'ك': 22, 'ل': 23, 'م': 24, 'ن': 25, 'ه': 26, 'و': 27, 'ي': 28 } EBCED_ALFABE = { 'ا': 1, 'ب': 2, 'ج': 3, 'د': 4, 'ه': 5, 'و': 6, 'ز': 7, 'ح': 8, 'ط': 9, 'ي': 10, 'ك': 20, 'ل': 30, 'م': 40, 'ن': 50, 'س': 60, 'ع': 70, 'ف': 80, 'ص': 90, 'ق': 100, 'ر': 200, 'ش': 300, 'ت': 400, 'ث': 500, 'خ': 600, 'ذ': 700, 'ض': 800, 'ظ': 900, 'غ': 1000 } IZIN_VERILEN_14_HARF = {'د', 'ذ', 'ر', 'ز', 'س', 'ش', 'ص', 'ض', 'ط', 'ظ', 'ع', 'غ', 'ف', 'ق'} GERCEK_MUKATTA_HARFLERI = {'ا', 'ح', 'ر', 'س', 'ص', 'ط', 'ع', 'ق', 'ك', 'ل', 'م', 'ن', 'ه', 'ي'} def guvenli_mod_hesapla(sayi_str, mod_degeri): kalan = 0 for rakam in sayi_str: kalan = (kalan * 10 + int(rakam)) % mod_degeri return kalan def kontrol_19_sistemi(harfleri_hazir_kelimeler, mod="standart"): aktif_sozluk = EBCED_ALFABE if mod == "ebced" else STANDART_ALFABE sayi_gruplari = [] for kelime in harfleri_hazir_kelimeler: harf_sayilari = [str(aktif_sozluk[harf]) for harf in kelime if harf in aktif_sozluk] if harf_sayilari: sayi_gruplari.append("".join(harf_sayilari)) olusan_sayi_str = "19".join(sayi_gruplari) if not olusan_sayi_str: return None, 0, False kalan = guvenli_mod_hesapla(olusan_sayi_str, 19) return olusan_sayi_str, kalan, (kalan == 0) # ===================================================================== # 📋 KELİME GİRİŞ HAVUZU # ===================================================================== KELIME_1 = "بسم" KELIME_2 = "الله" KELIME_3 = "الرحمن" KELIME_4 = "الرحيم" KELIME_5 = "بلى, بل" KELIME_6 = "قادرون, قادر, قادران, القادر, بقادر, قديرين, قدير, قدرين, قدور, قادرين" KELIME_7 = "على" KELIME_8 = "ان" KELIME_9 = "يسوي, نسويه, نُسَوِّيَ, نسويهم" KELIME_10 = "بالبنانات, بَنَانَهُ, بالبنانة, بالبنان, البنانة, ببنائه, ببنانها, ببنانيه, بالْبنائه" KELIME_11 = "بلى, بل" KELIME_12 = "يريد, يُرِيدُونَ, أُرِيدُ" KELIME_13 = "انسان, الانسان, الناس" KELIME_14 = "ليطغى, لتفجر, يفجر, تفجر, فجورا" KELIME_15 = "أمام, امامه, امام, خلفه" KELIME_16 = "يسألون, يسأل, تسألون, يسيل, يسعل" KELIME_17 = "اين, ايان, أينما, متى" KELIME_18 = "الْيوم" KELIME_19 = "القيامة" GIRIS_LISTESI = [ KELIME_1, KELIME_2, KELIME_3, KELIME_4, KELIME_5, KELIME_6, KELIME_7, KELIME_8, KELIME_9, KELIME_10, KELIME_11, KELIME_12, KELIME_13, KELIME_14, KELIME_15, KELIME_16, KELIME_17, KELIME_18, KELIME_19 ] if __name__ == '__main__': PRE_KELIME_HAVUZU = [] for sira in GIRIS_LISTESI: if not sira.strip(): continue alternatifler = [alt.strip() for alt in sira.split(',') if alt.strip()] sira_elemanlari = [] for alt in alternatifler: temiz_alt = alt.replace(',', ' ') alt_kelimeler = [k for k in temiz_alt.split() if k] std_kelimeler = [harfi_standardize_et(k) for k in alt_kelimeler if harfi_standardize_et(k)] h_sayisi = sum(len(k) for k in std_kelimeler) sira_elemanlari.append({ 'orjinal': alt, 'std_kelimeler': std_kelimeler, 'harf_sayisi': h_sayisi }) if sira_elemanlari: PRE_KELIME_HAVUZU.append(sira_elemanlari) print("="*75) print(" ARAPÇA METİN SIRALI KOMBİNASYON ANALİZ PANELİ ") print("="*75) toplam_kombinasyon_sayisi = 1 for h in PRE_KELIME_HAVUZU: toplam_kombinasyon_sayisi *= len(h) print(f"Aktif İşlenen Kelime Sırası Sayısı: {len(PRE_KELIME_HAVUZU)}") print(f"Toplam Test Edilecek Benzersiz Kombinasyon: {toplam_kombinasyon_sayisi}") print("Tarama başlatıldı...\n") basarili_sonuc_sayisi = 0 taranan_sayac = 0 for komb in itertools.product(*PRE_KELIME_HAVUZU): taranan_sayac += 1 # Sadece her 500.000 adımda bir özet geçerek sistemi yormuyoruz if taranan_sayac % 500000 == 0: print(f"> İlerleme durumu: {taranan_sayac:,} / {toplam_kombinasyon_sayisi:,} kombinasyon elendi...") toplam_saf_harf_sayisi = sum(k['harf_sayisi'] for k in komb) if toplam_saf_harf_sayisi != 80: continue standardize_kelimeler = [] for k in komb: standardize_kelimeler.extend(k['std_kelimeler']) kalan_alfabe_list = [] kalan_ebced_list = [] mukatta_ebced_toplami = 0 mukatta_harf_sayisi = 0 for kelime in standardize_kelimeler: for harf in kelime: if harf in STANDART_ALFABE: if harf not in IZIN_VERILEN_14_HARF: kalan_alfabe_list.append(str(STANDART_ALFABE[harf])) kalan_ebced_list.append(str(EBCED_ALFABE[harf])) if harf in GERCEK_MUKATTA_HARFLERI: mukatta_ebced_toplami += EBCED_ALFABE[harf] mukatta_harf_sayisi += 1 kalan_alfabe_str = "".join(kalan_alfabe_list) kalan_ebced_str = "".join(kalan_ebced_list) s19_str, s19_kalan, s19_onay = kontrol_19_sistemi(standardize_kelimeler, "standart") if not s19_onay: continue e19_str, e19_kalan, e19_onay = kontrol_19_sistemi(standardize_kelimeler, "ebced") if not e19_onay: continue if not kalan_alfabe_str: continue if guvenli_mod_hesapla(kalan_alfabe_str, 7) != 0: continue if not kalan_ebced_str: continue if guvenli_mod_hesapla(kalan_ebced_str, 7) != 0: continue if mukatta_harf_sayisi == 0 or (mukatta_ebced_toplami % 19 != 0): continue basarili_sonuc_sayisi += 1 ana_metin = " ".join(k['orjinal'] for k in komb) print("\n" + "*" * 70) print(f"🎯 [MUCİZE EŞLEŞME #{basarili_sonuc_sayisi}]") print(f" Metin : {ana_metin}") print(f" Harf Sayısı : {toplam_saf_harf_sayisi} (✅ TAM 80)") print(f" Standart 19 : {s19_str} (✅ Kalan: 0)") print(f" Ebced 19 : {e19_str} (✅ Kalan: 0)") print(f" Alfabe Mod 7 : {kalan_alfabe_str} (✅ Kalan: 0)") print(f" Ebced Mod 7 : {kalan_ebced_str} (✅ Kalan: 0)") print(f" Mukatta Ebced: {mukatta_ebced_toplami} (✅ Kalan: 0, Harf: {mukatta_harf_sayisi})") print("*" * 70 + "\n") print("="*75) if basarili_sonuc_sayisi > 0: print(f"Tarama Tamamlandı. Toplam {basarili_sonuc_sayisi} adet tam eşleşen kombinasyon bulundu.") else: print("Tarama Bitti: Havuzdaki mevcut kelime kombinasyonlarından bu 6 katı kuralın TÜMÜNÜ birden karşılayan bir dizilim çıkmadı.") print("="*75)
Output