【发布时间】:2020-11-17 15:52:14
【问题描述】:
为什么这会打印所有笔记,而不仅仅是笔记 1、3、6、8 和 10?
Notes = ["C",["Db","C#"],"D",["Eb","D#"],"E","F",["Gb","F#"],"G",["Ab","G#"],"A",["Bb","A#"],"B"]
for noteNumb in range (0,len(Notes)):
if noteNumb == 1 or 3 or 6 or 8 or 10:
print(noteNumb)
【问题讨论】:
-
if noteNumb==1 or 3 or 6 or 8 or 10不是测试多个值的正确方法。正确方法见这个答案stackoverflow.com/a/15112149/494134 -
你能发布完整的回溯吗?
-
你应该尝试调试代码,看看各个变量在中断的情况下是什么状态,并与这些变量在没有中断时的状态进行比较;你会很快发现问题!至少确定哪一行代码出错了。
-
还请看看如何编写一个最小可重现示例,因为您的代码有很多与您的问题无关的内容,并且由于您错过了一些内容而无法运行! stackoverflow.com/help/minimal-reproducible-example
-
删除了很多我无法运行的代码,大部分都可以。你确定你得到了错误吗?
标签: python arrays if-statement indexing range