为了账号安全,请及时绑定邮箱和手机立即绑定

在python中计算列表中过零的次数

在python中计算列表中过零的次数

墨色风雨 2021-06-25 02:12:30
我试图在列表中找到零交叉的数量。我正在使用的代码是:for i in range(1, len(value)):    zerocrossing = 0    if ((value[i-1]) > 0 and value[i] < 0):        zerocrossing += 1    if ((value[i-1]) < 0 and value[i] > 0):        zerocrossing += 1stdio.writeln('The Number of Zero Crossings is ' + str(zerocrossing))这段代码没有给我任何错误,但它没有给我正确的答案。如果我给它输入[1.0, -1.0, 1.0]它给我1,但它应该给2. 我究竟做错了什么?
查看完整描述

2 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

zerocrossing每次循环迭代时设置为零。移出zerocrossing = 0for 循环。


查看完整回答
反对 回复 2021-06-29
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

l = [1.0, -1.0, 1.0]


zero_x = 0


for idx, item in enumerate(l[:-1]):

    if l[idx] < 0 and l[idx+1] > 0:

        zero_x +=1

    if l[idx] > 0 and l[idx+1] < 0:

        zero_x +=1

2


查看完整回答
反对 回复 2021-06-29
  • 2 回答
  • 0 关注
  • 388 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信