使用Random.random [30,35]打印30,35之间的随机数。种子(70)

时间:2018-12-17 01:38:23

标签: python random multiplication random-seed

可能是一个简单的答案,不确定我缺少什么。对于家庭作业,我必须使用random.random()来生成30到35之间的数字。必须将种子设置为70才能使伪随机数与评分器相匹配。这不是我的演讲,所以我对要做的事情有些困惑。

我有:

import random 
def problem2_4():
    print(random.random(30,35))

但这显然是错误的。

作业说输出应该看起来像(注意:对于这个问题,我仅将def problem2_4()用于作业评分系统)

problem2_4()
[34.54884618961936, 31.470395203793395, 32.297169396656095, 30.681793552717807,
 34.97530360173135, 30.773219981037737, 33.36969776732032, 32.990127772708405, 
 33.57311858494461, 32.052629620057274]

2 个答案:

答案 0 :(得分:5)

输出[blah, blah, blah]表示它是数字的列表,而不是一一列出的一系列数字。

此外,如果您需要随机浮点值,则需要将random.random(从零到一)的数字转换为该范围。

这意味着您可能需要类似的东西:

import random                                # Need this module.
def problem2_4():
    random.seed(70)                          # Set initial seed.
    nums = []                                # Start with empty list.
    for _ in range(10):                      # Will add ten values.
        nums += [random.random() * 5 + 30]   # Add one value in desired range.
    print(nums)                              # Print resultant list.

当然, Pythonic 的实现方式是:

import random
random.seed(70)
print([random.random() * 5 + 30 for _ in range(10)])

这可能比您的教育工作者的工作位置领先。尽管如此,还是要尽早学习这些东西,这是一件好事,因为除非您做过:-)

答案 1 :(得分:-1)

您要查找的函数是randint,它返回指定最小值和最大值之间的整数(整数)。

所以解决办法是

random.randint(30, 35)

Python Docs