我目前有以下代码:你输入一个字符串,然后计算机随机抽取字母,并试图将其与字符串中的字母匹配。这个过程会重复,并且随着每次迭代,计算机更接近于猜测字符串。我想输出输入的初始字符串或'target'以及获得正确匹配所需的迭代次数的字符串格式。我想把它输出到一个文本文档。到目前为止,脚本生成了一个文本文档,但没有输出到它。我想它保存数据后,每次迭代从主循环。我有工作计划,我只需要协助输出,有什么想法,如何可以做到这一点?你知道吗
以下是我取得的进展:
import string
import random
possibleCharacters = string.ascii_lowercase + string.digits + string.ascii_uppercase + ' .,!?;:£$^%&*|'
file = open('out.txt', 'w')
again = 'Y'
while again == 'Y' or again == 'y':
target = input("Enter your target text: ")
attemptThis = ''.join(random.choice(possibleCharacters) for i in range(len(target)))
attemptNext = ''
completed = False
generation = 0
while completed == False:
print(attemptThis)
attemptNext = ''
completed = True
for i in range(len(target)):
if attemptThis[i] != target[i]:
completed = False
attemptNext += random.choice(possibleCharacters)
else:
attemptNext += target[i]
generation += 1
attemptThis = attemptNext
genstr = str(generation)
print("Target matched! That took " + genstr + " generation(s)")
file.write(target)
file.write(genstr)
again = input("please enter Y to try again: ")
file.close()
同时解决原始问题和评论中的问题:
如何在循环每次迭代后写入文件:在
file.write(...)
之后调用file.flush()
:要在您编写的每个“target”和“genstring”后面添加一个换行符,那么,在字符串中添加一个换行符(或者您想要的任何其他输出格式):)
相关问题 更多 >
编程相关推荐