python 中布尔向量的延迟

delay of boolean vector in python

您好,我是 python 中的编码新手,我想获得一些反馈,了解如何在定义的 [delay] 样本延迟下将布尔矢量信号延迟到 true 变为 false 的阶段。

是否有一个很好的编码示例?还是我代码哪里出错了?

def delay_bool_signal(x, delay):
    xtmp = x
    dly = 0
    for i in range(1,len(xtmp)):
        if xtmp[i]==0 and xtmp[i-1]==1:
            dly = dly + 1
            if dly <= delay
                xtmp[i] = 1
            else:
                dly = 0
    return xtmp

示例向量可能如下所示...

BooleanVec = [0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1]
Delay = 2

预期输出

BoolVecDel = [0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1]

您忘记在示例代码的行号 : 7 中的 if 条件后加上冒号,这就是为什么出现语法不正确错误的原因。
更改该行

if dly <= delay

if dly <= delay:

我检查它工作正常,你得到了预期的输出。