繁体   English   中英

循环中的Python rng始终返回相同的数字

[英]Python rng in a loop returns the same number all the time

我在循环中运行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但我总是遇到相同的问题。

假设首选项采用以下形式:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM