Python:随机生成器中的双打

时间:2015-08-06 15:27:25

标签: python random generator

我尝试创建一个生成器,它将查找1到m范围内的n个随机整数。下面的代码完全相同,但它有时会返回先前打印过的数字的两倍。有谁知道我怎么编辑它?另一件事,但更设计的是,我如何订购我的打印,以便数字有序?

import random

def hwset(m,n):
    i=0
    for i in range(0,n):
        print random.randrange(1,m+1,1)

1 个答案:

答案 0 :(得分:5)

如果您希望在1和n之间的所有整数中生成m个数字的样本,请将random.sample() functionxrange()对象一起使用(使用{{1如果您使用的是Python 3):

range()

如果您希望对这些数字进行排序,只需对结果进行排序:

def hwset(m, n):
    return random.sample(xrange(1, m + 1), n)

演示:

sorted_hwset = sorted(hwset(m, n))