我正在研究信号处理算法。
bool_carrierPhaseFlag = cosTwoDeltaPhi < 0.6
bool_CNRFlag = carrierToNoiseRatio < 25
if where(bool_carrierPhaseFlag) or where(bool_CNRFlag)
print('Loss of tracking')
布尔值是数组,并且我希望if
条件在使用上述条件的数组元素为false时打印“跟踪丢失”。
答案 0 :(得分:0)
您可以使用all内置函数来测试容器中的 all 个元素是否评估为True
:
>>> arr = [True, True, False]
>>> if not all(arr):
... print('One of us is False!')
...
One of us is False!
您的代码如下:
bool_carrierPhaseFlag = cosTwoDeltaPhi < 0.6
bool_CNRFlag = carrierToNoiseRatio < 25
if not all((bool_carrierPhaseFlag,bool_CNRFlag)):
print('Loss of tracking')
请注意括号以根据参数创建元组,all
期望使用单个参数(如果要动态构建可迭代对象,则为不带括号的生成器表达式)。
all
是一种短路操作,也就是说,一旦在容器中找到计算结果为False
的元素(例如{{1}),它将返回False
。 },False
或零。
如果容器中的任何元素为真,则any内置函数将返回None
。