为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕村225694 2023-04-25 17:03:36
这是一个生成一些随机字符串直到生成给定字符串的程序。我无法理解修复部分中的索引的想法else。如果随机生成的字符与attemptThis[i]中的字符不匹配t[i],我们是否将字符存储在右侧attemptNext?之后当它再次检查时,只有一个字符存储在attemptThis?我不知道我问的方式是否正确。我在部分中得到了陈述的想法if。但是令人else:attemptNext += t[i]困惑。带有示例的 exp 将不胜感激。(来自 gfg 的代码)import string import random    possibleCharacters = string.ascii_lowercase + string.digits +                      string.ascii_uppercase + ' ., !?;:'  t = "geek"  attemptThis = ''.join(random.choice(possibleCharacters)                                 for i in range(len(t))) attemptNext = ''   completed = Falseiteration = 0  while completed == False:     print(attemptThis)           attemptNext = ''     completed = True          for i in range(len(t)):         if attemptThis[i] != t[i]:             completed = False            attemptNext += random.choice(possibleCharacters)         else:             attemptNext += t[i]                   iteration += 1    attemptThis = attemptNext   print("Target matched after " +      str(iteration) + " iterations") 
查看完整描述

3 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

for循环正在为 构建一个字符串attemptNext。如果 中的字符attemptThis等于 中的相应字符t,则将该字符添加到 的末尾attemptNext

代码写得很奇怪。在代码中,最好避免在语句的简单表达式中使用notor 。在这种情况下,它使用了. 通常最好使用相反的 ( ) 并切换每个主体。!=if-else!===


查看完整回答
反对 回复 2023-04-25
?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

import string

import random


s1 = input("enter the string:")

n = len(a)

s2 = None

char = string.digits+string.ascii_uppercase+string.ascii_lowercase


c = 1

while s1!=s2:

    s2= ''.join(random.choice(char) for i in range(n))

    c+=1

    print(c,s2)


查看完整回答
反对 回复 2023-04-25
?
慕斯709654

TA贡献1840条经验 获得超5个赞

import random

import string



possibleCharacters = string.ascii_lowercase + string.digits + 

string.ascii_uppercase + ' ., !?;:'


a='zero'

c=1

while a != random:

      b = ''.join(random.choice(possibleCharacters)for i in range(len(a)))

      c=c+1

      print(b)

      if b ==a:

         print(a)

         print("target is matched after",c," attermpts")

         break

#try this short and simple


查看完整回答
反对 回复 2023-04-25
  • 3 回答
  • 0 关注
  • 98 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信