একটি স্ট্রিং দেওয়া থাকলে, আমাদের কাজ হলো অক্ষর, বিশেষ চিহ্ন, সংখ্যা ইত্যাদির র্যান্ডম কম্বিনেশন ব্যবহার করে কিছু স্ট্রিং তৈরি করা।
উদাহরণ
ইনপুট: PP আউটপুট: AK AK . . . . .
এলগরিদম
স্টেপ ১: একটি স্ট্রিং ইনপুট নিন। স্টেপ ২: ছোট হাতের অক্ষর, বড় হাতের অক্ষর এবং বিশেষ চিহ্নের সকল সম্ভাব্য কম্বিনেশন একটি ভেরিয়েবলে সংরক্ষণ করুন। স্টেপ ৩: দুটি লুপ এবং র্যান্ডম ফাংশন ব্যবহার করুন। এর মাধ্যমে অক্ষর এবং চিহ্নের সকল সম্ভাব্য কম্বিনেশন পাওয়া যায়। স্টেপ ৪: অবশেষে ইনপুট স্ট্রিংয়ের মতো একই স্ট্রিং প্রদর্শন করুন এবং প্রতিটি র্যান্ডম স্ট্রিংকে দেওয়া ইনপুট স্ট্রিংয়ের সাথে মিলিয়ে যাচাই করুন। স্টেপ ৫: যদি দুটি ইনডেক্স মান একই হয়, তবে ইনডেক্সটি সংরক্ষণ করুন এবং বাকি জন্য পুনরাবৃত্তি চালিয়ে যান।
উদাহরণ কোড
import string
import random
import time
my_possibleCharacters = string.ascii_lowercase + string.digits + string.ascii_uppercase + ' ., !?;:'
t = "ab"
my_attemptThis = ''.join(random.choice(my_possibleCharacters) for i in range(len(t)))
my_attemptNext = ''
com = False
iteration = 0
# সম্পূর্ণ না হওয়া পর্যন্ত লুপ চালান
while com == False:
print(my_attemptThis)
my_attemptNext = ''
com = True
for i in range(len(t)):
if my_attemptThis[i] != t[i]:
com = False
my_attemptNext += random.choice(my_possibleCharacters)
else:
my_attemptNext += t[i]
# পুনরাবৃত্তি সংখ্যা বাড়ান
iteration += 1
my_attemptThis = my_attemptNext
time.sleep(0.1)
# ড্রাইভার কোড
print("String matched after " + str(iteration) + " iterations")
আউটপুট
36 G sM ,L jt g1 FN uR ;W Ja 3n 4o Gl kY NR oR Nw Lg Jt Od wN z0 J 3a 9J sF v g6 HO Ia AB Xa OX :N Wo Dp f; tt kf Er In ou bD T a0 aH aW a a8 ai ax az aN aJ ah a0 a. aq ar ax ai am a; aO as a; aS aL aQ a8 a3 ae a5 aS ao al aV ar aj aT aS ad ab String matched after 83 iterations