[Çözüldü] verilen kelimeyi istenilen sekilde uretme / Sorunu/

Başlatan ahmet12, 07 Eylül 2017 - 22:03:02

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

ahmet12

selamun aleykum arkadaslar
sorum su
a = 'paradox'
bu kelimeyi alip bu kelimeyi buyuk harf kucuk harf olarak karistirip verecek
misal ParaDox,PARadox,PaRADOX, paradoX, PARADOx, gibi gibi her sekilde buyuk kucuk harf  karistirip kelimeyi bozmadan butun kombinasyonlari deneyerek ve hic atlamadan full bir liste yapacak
bunu nasil basarabiliriz yardimlarinizi bekliyorum


ahmet12

onu buldum eyw  kardesimde 2 sikinti su

p4Radox
Par4dox
par4d0x
gibi belirtilen harflerin yerine sayilar yazicak fakat boyle liste halinde yapicak bu isi

bu tarz olacak zor bir is olmamasi lazim bu konu

lnxdev

Ne diyorsun kardeşim sen madem zor değil otur yap kendin birde sitem etmişsin kendin yapacağına. Hiç bir şey yapmamışsın ne yaptığın ile alakalı bir kod parçacığı bile paylaşmamış sın insanlar araştırsın paylaşsın da yapıyım modunda yazıyorsun. Lütfen dediğin şeyleri listeye eklemek için veyahut "boyle liste halinde yapicak bu isi" diye yazdığın işi yazdığın kod olarak burada paylaşır mısın ? Böylelikle insanların yardım eğilimi artar.

ahmet12

[mention=630681]@lnxdev[/mention]
bi projenin ufak bir kismi bu sadece simdi projeyi buraya sayfalarca yazdirayimmi ?
biliyorsan cevapla bilmiyorsanda damlama kardesim

012rev3

@ironic in verdiği kaynak içerisinde bulunan(sayfanın aşağısında) kodlarda şöyle bir değişiklik yaparak sanırım istediğiniz sonucu alabilirsiniz.
#!/usr/bin/python3
from itertools import  permutations
strs='tarak'
lis2=list(strs)+list(strs.upper())+list(strs.replace('a', '4'))+list(strs.replace('a', '@'))

for x in  sorted(set(permutations(lis2, 5))):
    if ''.join(x).lower()=='tarak':
        print(''.join(x))
    elif ''.join(x).lower()=='t4r4k':
        print(''.join(x))
    elif ''.join(x).lower()=='t@r@k':
        print(''.join(x))

Benzer çıktı;
T4R4K
T4R4k
T4r4K
T4r4k
T@R@K
T@R@k
T@r@K
T@r@k
TARAK
TARAk
...

Not: paradox kelimesi yedi haneli olduğu için uzun bir liste oluyor ve haliyle bunu terminal ekranında çalıştırdığınızda bilgisayar donabilir. Bu yüzden tarak kelimesini kullandım.
Bunu terminal ekranından çıktı olarak değilde direkt metin belgesine yazdırmak gerek. Şu şekilde;
python liste.py > liste.txt
Tam sonuç getirmesede kısa olması bakımından şöyle bir kod yazılabilir;
a = 'paradox'
print a.upper(), '\n', a.lower(), '\n', a.replace('a', '@'), '\n', a.replace('a', '4'), '\n', a.replace('o', '0')

İstenilen diğer olasılıklar için print komutunun devamına değerler girilmeli.

Kolay gelsin.
"Her şey mümkün olduğunca basitleştirilmeli ancak sıradanlaştırılmamalıdır." Albert Einstein

ahmet12

#6
tsk edrim kardesim yuzde yuz vermesedd sunu upper ayri olarak replace yapip listeyi kaydedip loweri ayri replace yapip birlrstirdikmi yuzde 50 den fazla olasiligi tamamlamis oluyoruz
bunun ustunde yuzde yuzluk bir calisma yapicam bitirdigimde burada yayinlarim ins
eyvallah


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 10 Eylül 2017 - 21:22:25

buldum arkadaslar konu cozulmustur yorum yapan herkese tesekkur ederim

paylasiyorum istediginiz kelimeye gore icini duzrnlemeniz gerekiyor
https://github.com/madglory/permute_wordlist