【发布时间】:2015-10-29 20:11:09
【问题描述】:
我正在尝试创建一个生成器,它将在 1 到 m 的范围内查找 n 个随机整数。下面的代码正是这样做的,但是它有时会返回先前打印的数字的两倍。有谁知道我可以如何编辑它?另一件事,但更注重设计的是,我如何订购我的打印件以使数字按顺序排列?
import random
def hwset(m,n):
i=0
for i in range(0,n):
print random.randrange(1,m+1,1)
【问题讨论】:
-
你的意思是你的数字重复了?您是否尝试生成一个 sample 来代替?
-
是的,这是一种更好的描述方式。什么是样本?
-
样本是从总体中抽取的特定样本。 1 到 m 是人口,你从中取 n 幅图,没有替换。
-
@UsernameUnknown:它是从一个更大的集合中选择的,随机选取而不重复。
-
请注意,您的函数不是生成器函数;相反,您有一个打印值的常规函数。你真的需要发电机吗?从更大的集合中挑选样本并不适合生成器方法。