python - 条件在python中工作异常:
问题描述
尝试通过一些基本算法:
在我编写的这段代码中绞尽脑汁,但并不总是有效:
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
循环而不将 plot 增加1
。
无法弄清楚为什么J
必须一直迭代到4
上面那个特定的数组,它应该停止在3
,增加 plot1
并退出循环。
解决方案
推荐阅读
- arrays - 检查两个数组之间的重复值。如果不重复,则显示标签更新
- angular - 在扩展模式下如何隐藏垫子扩展面板标题
- android - 如何在android studio的项目文件夹中更改.gradle floder目录
- c# - 从 C# 中的 Json 字符串访问字典
- javascript - cordova InAppBrowser 不适用于 _system 参数
- angular - Angular 7 - 整个应用程序的全局 HTTP 拦截器
- php - 在循环中运行多线程的正确方法
- mysql - Postgre 或 mysql id 列自动递增
- java - 为什么这个 Java 代码的行为与这个 C 代码不同?
- ios - 如何避免在 Realm 数据库中以多对多关系添加相同的数据?