English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Generate random string until a given string is generated using Python

Given a string, our task is to generate some strings using random combinations of characters, special characters, numbers, etc.

Example

Input
PP
Output
AK
AK
.
.
.
.
.

Algorithm

Step 1: Input a string.
Step2: Here we store all possible combinations of lowercase, uppercase, and special characters in a variable.
Step3: Use two loops and use the random function. From this, we can get all the possible combinations of characters, symbols.
Step4: At the end display the same string which is same as the input string and it matches each random string with the given input string.
Step5: If both index values are same then store the index and iterate for the remaining.

Example Code

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
# Iterate while completed is false
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]
# increment the iteration
iteration += 1
my_attemptThis = my_attemptNext
time.sleep(0.1)
# Driver Code
print("String matched after " + str(iteration) + "  iterations ")

Output Result

36
G
sM
,L
jt
How to convert a single char to int in1
FN
uR
;W
Ja
3n
4o
Gl
kY
NR
oR
Nw
Lg
Jt
Od
wN
z0
J
3a
9J
sF
v
How to convert a single char to int in6
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