我是Python(大学一年级学生)的新手,在尝试完成一些作业时,我遇到了一个问题。我正在使用随机数创建一个非常简单的程序。这是我到目前为止所写的内容:
import random
def main():
print random.randint(2,10)
a=random.seed()
b=random.seed(5)
c=random.seed(5)
print (a)
print (b)
print (c)
问题是它总是为a,b和c打印NONE。对于random.int,它始终打印我输入的最小整数(在本例中为2)。所以这基本上使我无法编写实际程序(随机糖果分配器)。我实际上只是假设“导入随机”不起作用。我其实没有任何线索。
我通常会向我的教授询问这个问题,但直到星期一才能联系他,这项任务将在今晚结束。非常感谢任何帮助,我为这篇文章的纯粹业余性道歉。
答案 0 :(得分:1)
那是因为random.seed
仅重置了随机数生成器。它本身不返回任何东西(见https://docs.python.org/2/library/random.html#random.seed)。这意味着它会返回None
,这是您在测试中看到的内容。
答案 1 :(得分:1)
首先应设置种子值,这是一个稍后“确定”随机值的值,只需在开始(或首次使用随机数)期间正常设置一次。
a=random.seed(5)
主要是基于当前时间。
您可以拨打连续电话获取随机数:
print random.randint(2,10)
答案 2 :(得分:1)
正如您可以通过输入
看到的那样>>> import random
>>> help(random.seed)
种子(a = None,version = 2)随机方法。随机实例 从可散列对象初始化内部状态。
None or no argument seeds from current time or from an operating system specific randomness source if available. For version 2 (the default), all of the bits are used if *a* is a str, bytes, or bytearray. For version 1, the hash() of *a* is used instead. If *a* is an int, all bits are used.
random.seed
用于设置随机生成器。
为了获得值,您需要使用random
模块提供的众多功能之一
e.g。
import random
def main():
print random.randint(2,10)
a=random.seed()
b=random.randrange(5)
c=random.randrange(5)
print (a)
print (b)
print (c)