生成随机字符串,直到使用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