while循环打印出相同的结果,Python 2.7

时间:2017-02-07 15:35:55

标签: python python-2.7 while-loop

我试图把这个密码生成器放到while循环中,所以我可以创建一个wordlist,我将在我的任务中使用它。

到目前为止,程序在运行时会不断打印出相同的结果。我的程序的代码是:

from random import shuffle
data = open('randomwords.txt', 'r').read().split()
shuffle(data)

# Creates password from Gadsby text file
password = ''
for x in data[:3]:
    password += x

while(True):
    print password.replace('o', '0')

有没有人知道如何更改此代码,因此会打印出不同的密码,而不是不断打印相同的密码。

2 个答案:

答案 0 :(得分:1)

这是一种方法:

from random import shuffle
with open('randomwords.txt', 'r') as data:
    data = data.read().split()
    while(True):
        shuffle(data)
        password = ''
        for x in data[:3]:
            password += x
        print password.replace('o', '0')

答案 1 :(得分:0)

这样做会有更多的pythonic方式。

from random import sample
with open('randomwords.txt', 'r') as file:
    data = file.read().split()
    while(True):
        print ''.join(sample(data, 3)).replace('o', '0')