对于数组x= np.random.uniform(low=0,high=50, size = 10000)
,使用while循环确定查找超过36的第三个条目所需的随机条目数。
我知道如何找到超过36的数字,但是我不确定如何找到超过36的数字。
i=0
x= np.random.uniform(low=0,high=50, size = 10000)
while x[i] >= 36:
i+=1
print(i)
答案 0 :(得分:1)
您可以将所有匹配的数字放入列表中,并在列表长度等于3时使while循环中断。列表的最后一个值是您的答案。
import numpy as np
x = np.random.uniform(low=0, high=50, size=10000)
i = 0
l = []
while len(l) < 3:
if x[i] >= 36:
l.append(x[i])
i += 1
print l[-1]
答案 1 :(得分:0)
跟踪您已经看过36个,看过多少个项目:
num_occurances = 0
index = 0
while num_occurances != 3:
if x[index] >= 36:
num_occurances += 1
index += 1
print(index)
答案 2 :(得分:0)
如果您不需要while循环进行其他任何操作,另一种解决方案可能就是屏蔽数组。
import numpy as np
def nth_exceed(x, n, exceed):
y = x[x > exceed][n-1]
return np.where(x==y)
x = np.random.uniform(low=0,high=50, size = 10000)
nth_exceed(x, 3, 36)