使用 Python 生成随机字符串,直至生成给定的字符串


给定一个字符串,我们的任务是使用随机的字符组合、特殊字符、数字等生成一些字符串。

例如

Input
PP
Output
AK
AK
.
.
.
.
.

算法

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

示例代码

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")

输出

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

更新于: 2020 年 6 月 26 日

493 次浏览

开启你的 职业生涯

通过完成课程取得认证

开始
广告