繁体   English   中英

您好,我在 python 中遇到“随机”库的问题

[英]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标准库中的choicessample以及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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM