[英]Hello, I am having a problem with the "Random" library in python
你好,我在 python 中遇到了“随机”库的问题。所以基本上我希望它返回一个介于 (1, 99) 之间的值,以便该部分工作,但我希望它通过仅运行一次代码来返回多个随机值。 每次运行它只给我 1 个随机值。 这是代码:
import random
import time
Random = random.randint(1, 99)
while True:
time.sleep(0.7)
print(Random)
我还想问一下如何在 python 中为 function 计时。如果我只想让它运行特定的时间,我该怎么做?
谢谢。
import random
import time
while True:
Random = random.randint(1, 99)
print(Random)
time.sleep(0.7)
如果你想让它尽可能快地运行 0.7 秒:
import random
import time
alarm = time.time() + 0.7
while time.time() < alarm:
Random = random.randint(1, 99)
print(Random)
请注意,这是一个紧密的 CPU 循环,因此不是一个好主意,但它向您展示了概念。
这是因为使用random库的随机数在while之外只声明了一次。
正如您在上面回答的那样,您可以将随机数生成放入 while 循环中。
您还可以使用 for 循环检查它。
from random import randint
for _ in range(10):
random_num= randint(0, 10)
print(random_num)
output
1
3
4
9
4
2
7
5
1
6
如果您想在一次调用中获得随机整数列表,您可以使用random
标准库中的choices
或sample
以及range
来获得您想要的:
import random
# 10 random integers between 1-99 with replacement
print(random.choices(range(1, 100), k=10))
# 10 random integers between 1-99 without replacement
print(random.sample(range(1, 100), k=10))
[45, 52, 36, 43, 46, 28, 43, 37, 37, 17]
[63, 10, 40, 38, 86, 87, 65, 37, 15, 49]
你可以试试这个:
import random
n = 20
random_num_list = random.sample(list(range(1,99)), n)
尝试这个:
import random
for i in range(3):
print(random.randint(1,99)
# Imports
import random
import time
# Working
while True:
time.sleep(0.7)
Random = random.randint(1, 99)
print(Random)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.