python中elif老是出错_python为什么会存在if执行了依然会执行elif的情况?

如题,是在一个案例的for循环中,if执行了,按理elif不应该执行,但是结果依然执行了elif,不太理解,是忽略了什么吗

for msg in track:

print '-----------------------------------------------------'

print "the msg is {} \n".format(msg)

print '\n'

if isinstance(msg, midi.EndOfTrackEvent):

print "end of track!!pass!!"

continue

if msg.tick > 0:

print '##msg.tick > 0 !!!'

current_tick += msg.tick

print 'current_tick plus {} tick!'.format(msg.tick)

print current_tick

print msg.tick

if isinstance(msg, midi.NoteOnEvent) and msg.get_velocity() != 0:

if len(notes[msg.get_pitch()]) > 0 and len(notes[msg.get_pitch()][-1]) != 2:

if verbose:

print("double NoteOn encountered,delete the first")

print "the msg double note_on msg is {} \n".format(msg)

print "the pitch is {}".format(msg.get_pitch())

else:

notes[msg.get_pitch()] += [[current_tick]]

print notes[msg.get_pitch()]

print [[current_tick]]

print '#####this is noteonevent,,,the current_tick plus {} #####\n'.format(msg.get_pitch)

# print 'the cu'

elif isinstance(msg, midi.NoteOffEvent) or (isinstance(msg, midi.NoteOnEvent) and msg.get_velocity() == 0):

if len(notes[msg.get_pitch()][-1]) != 1:

if verbose:

print ("warning:skipping noteoff event with no corresponding noteon")

print (msg)

else:

notes[msg.get_pitch()][-1] += [current_tick]

print "the current_tick plus {} \n".format(notes[msg.get_pitch()][-1])

print notes[msg.get_pitch()][-1]

print [current_tick]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值