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

Generar una cadena aleatoria hasta que se utilice Python para generar la cadena dada

Dado una cadena, nuestra tarea es generar algunas cadenas utilizando combinaciones aleatorias de caracteres, caracteres especiales, números, etc.

Ejemplo

Entrada
PP
Salida
AK
AK
.
.
.
.
.

Algoritmo

Paso 1: Ingresa una cadena.
Paso2: Aquí almacenamos todas las combinaciones posibles de caracteres minúsculos, mayúsculos y caracteres especiales en una variable.
Paso3: Usa dos bucles y usa la función aleatoria. De esto, podemos obtener todas las combinaciones posibles de caracteres, símbolos.
Paso4: Al final, muestra la misma cadena que es igual a la cadena de entrada y coincide con cada cadena aleatoria con la cadena de entrada dada.
Paso5: Si ambos valores de índice son los mismos, almacena el índice e itera para el resto.

Ejemplo de código

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
# Iterar mientras completed sea falso
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]
# Incrementar la iteración
iteration += 1
my_attemptThis = my_attemptNext
time.sleep(0.1)
# Código del conductor
print("String matched after " + str(iteration) + " iterations")

Resultado de salida

36
G
sM
,L
jt
¿Qué son los conceptos de preincremento y postincremento en1
FN
uR
;W
Ja
3n
4o
Gl
kY
NR
oR
Nw
Lg
Jt
Od
wN
z0
J
3a
9J
sF
v
¿Qué son los conceptos de preincremento y postincremento en6
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