Python循环中的循环返回相同的数字

时间:2014-06-28 00:32:48

标签: python loops random

我正在循环中运行rng并使用random.choice(list)从列表中选择两个单词并将它们组合起来。我迭代了300次,但每次运行它都会得到相同的选择300次。如果我多次运行脚本,我会得到一个不同的选择,但在循环内,选择保持不变。例如:

run #1:
    bob alice
    bob alice
    bob alice
    bob alice
run #2:
    john charline
    john charline
    john charline
    john charline
etc...

这是我的代码:

import random

for i in range(1,301): #index starts at 1 for later reasons
    pr = random.choice(pref) #string array containing prefixes
    su = random.choice(suff) #string array containing suffixes
    print (pr + su)

我尝试使用random.randrangerandom.randint,但我总是遇到同样的问题。

1 个答案:

答案 0 :(得分:1)

假设pref的格式为:

pref = ['bob', 'suzy', 'dimitri"]

和     suff = ['smith','silvers','golds']

n = 5

for i in range(n): pr = random.choice(pref) su = random.choice(suff) print (pr + ' ' + su)

应该为您提供所需的答案。 这是我在终端中运行时收到的输出。

joe silvers alice smith joe smith alice smith bob silvers

所以你的代码很好,我想。也许如果您发布整个输出,列表中会有一些变化。