[英]How do I generate a specific amount of random 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)
对您的代码进行少量修改。 你没有减少x
import random
x = int(input("Write a number: "))
while x != 0:
y = random.randint(0, 10)
print(y)
x-=1
您的while
循环将永远旋转,因为您从不递减x
。 您可以通过将其添加到循环主体来解决此问题:
x -= 1
如果您不希望它在用户输入负数时永远旋转(因为它会永远减少而不会达到 0),您可以将您的while
更改为:
while x > 0:
执行此类循环的更简单/标准/惯用的方法是使用for... in range
:
for _ in range(x):
print(random.randint(0, 10))
您可以将random.choices
用于 select 范围内的 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)]
我想指出,这里的for
循环比while
循环要好得多,但 Sam Stafford 打败了我。 列表理解解决方案也很好。
我知道你的代码只是一个例子,但那些变量名真的很差,要小心。 无论如何,这里有一个numpy
解决方案,它总有一天会派上用场!
import numpy as np
num_to_gen = int(input("Choose how many random numbers to generate: "))
rand_nums = np.random.randint(low=0, high=11, size=num_to_gen).tolist()
print(rand_nums)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.