条件语句在python中异常工作:

时间:2020-07-26 19:20:50

标签: python numpy

尝试通过一些基本算法:

把我的脑袋绕在我写的那段代码上,这并不总是可行的:

for j in range(1,n): #over range of array 
       array = np.random.randint(1,1000,n);    
       test = 0;
       if (array[j] > array[1] and array[j] == array.max()):
           plot=plot+1
           test = 1;
           break
       elif (array[j] > array[1]):
           test = 2;
           break
print(array)
print("j = ",j)
print(test)

问题是我得到这样的输出:

[841 744 623 804 957]
j =  4
1

该代码应从位置1开始并向前计数。如果它遇到的数组值大于在1处的位置,则应添加一个以作图并退出for循环(如果该数组值是最大值)。如果它刚好大于array[1],则退出for循环,而不会使绘图增加1

无法弄清楚为什么J必须在上面的特定数组中一直迭代到4,它应该在3处停止,将绘图增加1并退出循环。

0 个答案:

没有答案
相关问题