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

pythonprogrammingserver side programming

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

示例

Input
PP
Output
AK
AK
.
.
.
.
.

算法

步骤 1:输入一个字符串。
步骤 2:在这里,我们将所有可能的小写、大写和特殊字符组合存储在一个变量中。
步骤 3:使用两个循环并使用随机函数。由此,我们可以得到所有可能的字符、符号组合。
步骤 4:最后显示与输入字符串相同的字符串,并将每个随机字符串与给定的输入字符串匹配。
步骤 5:如果两个索引值相同,则存储索引并迭代剩余部分。

示例代码

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

相关文章