Python:在while循环之外的for循环无法正常工作

问题描述 投票:0回答:5

我想获得在0到10之间的随机值大于8之前进行了多少次尝试。我有下面的代码可以正常工作:

import numpy as np

x = np.random.uniform(low=0, high=10, size=1)
attempt = 1

while(x < 8):
    attempt = attempt + 1
    x = np.random.uniform(low=0, high=10, size=1)

但是,现在我想获得x第四次大于8之前的尝试次数。为此,我将for循环放在while循环之前,如下所示:

for i in range(0,4):
    while(x < 8):
        attempt = attempt + 1
        x = np.random.uniform(low=0, high=10, size=1)

但是,这不符合我的预期。有人可以帮我解决这个问题吗?

python
5个回答
2
投票

您想要获得在4条连续路径中获得随机数8所需的尝试总数。试试这个:


0
投票

问题是您没有重置x值。因此,一旦将变量设置为大于8的值,您的代码就不会再次进入while循环。您需要在while循环之前设置x = 0。


0
投票

有很多方法可以做到这一点。以下应该可以工作...


0
投票

这不是for loop情况。试试这个:


0
投票

您应该将代码修改为

© www.soinside.com 2019 - 2024. All rights reserved.