如何生成特定数量的随机数?

时间:2019-11-11 21:55:39

标签: python loops random while-loop numbers

我必须问用户一个数字,然后使用while循环产生与用户指定的数目完全相同的随机数。

import random

x = int(input("Write a number: "))
y = random.randint(0, 10)

while x != 0:
    print(y)
    y = random.randint(0, 10)

4 个答案:

答案 0 :(得分:1)

对您的代码进行少量修改。 您没有减少x

import random

x = int(input("Write a number: "))

while x != 0:
    y = random.randint(0, 10)
    print(y)
    x-=1

答案 1 :(得分:1)

您的while循环将永远旋转,因为您永远不会递减x。您可以通过将其添加到循环的主体中来解决此问题:

x -= 1

如果您不希望它在用户输入负数时永远旋转(因为它会永远减小而不会达到0),则可以将while更改为:

while x > 0:

执行这种循环的更简单/标准/惯用的方式是使用for ... in range

for _ in range(x):
    print(random.randint(0, 10))

答案 2 :(得分:1)

您可以使用random.choices从一个范围中选择10个值。

x = int(input("Write a number: "))
values = list(random.choices(range(11), k=x))

对于更大的范围,您可能希望重复调用random.randint

values = [random.randint(0,10) for _ in range(x)]

答案 3 :(得分:0)

我想指出,background循环比这里的tRectangle循环好得多,但是Sam Stafford击败了我!列表理解解决方案也很好。

我知道您的代码只是一个示例,但是那些变量名确实很差,请小心。无论如何,这是一个for解决方案,有一天可能会派上用场!

while