[英]if condition doesn't return as expected
我正在尝试编写一段代码,仅当列表(guess3)的所有元素都大于0时才能找到变量(RSS3)的最小值。我已经完成了:
if RSS3_min < RSS3_fin and (all(guess3[q]) > 0 for q in range(len(guess3))):
RSS3_fin = RSS3_min
guess3_fin = guess3
print i,j,k, 'RSS3 = ',RSS3_fin, 'guess3 = ', guess3
输出如下:
0 1 2 RSS3 = 152.470584348 guess3 = [ 1.03993316e-18 -4.21309327e-21 3.91958921e-23]
0 1 3 RSS3 = 138.828305634 guess3 = [ -9.72979812e-18 2.45455199e-20 9.91015993e-17]
0 2 6 RSS3 = 110.971076196 guess3 = [ 2.51690683e-18 6.50243486e-23 -1.64840584e-18]
0 2 12 RSS3 = 110.167564411 guess3 = [ 1.67526232e-18 6.93897310e-23 -9.25020238e-19]
这意味着我的if
条件的第二部分不满足。 我哪里错了? 请,请考虑我真的是python的新手,所以请保持简单……谢谢!
右括号不在正确的位置,请修复它:
if RSS3_min < RSS3_fin and all(guess3[q] > 0 for q in range(len(guess3))):
请注意,由于这是Python,因此您可以直接遍历列表中的项目:
if RSS3_min < RSS3_fin and all(item > 0 for item in guess3):
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.