x=[1,2,3,4,5,6]
for y in x:
if y %2 == 0:
print (y)
elif y %3 == 0:
print ("y")
elif y %3 and y %2 ==0:
print ("Divisible by 2 and 3!")
else:
print ("Odd number!")
喂!
我是一般的编程新手,我开始掌握它。试图寻找解决方案但找不到解决方案。
我试图找出1到6之间的偶数和奇数。除了整数6之外,我都需要打印出整数6可以被2和3整除。我怎么能修复错误?
答案 0 :(得分:3)
这里有两个问题:首先,条件应该是:
elif y %3 == 0 and y %2 ==0:
由于有两个单独的条件。接下来,您需要将检查移至顶部,以便:
for y in x:
if y %3 == 0 and y %2 ==0:
print ("Divisible by 2 and 3!")
elif y %2 == 0:
print (y)
elif y %3 == 0:
print ("y")
else:
print ("Odd number!")
为什么呢?因为如果一个数字可以被2和3分割,那么它也可以被2分割。这意味着在你的情况下它会选择第一个分支。通过交换订单,它将首先检查2
和3
是否可以分割。如果不是这种情况 - 即如果至少有一个条件失败 - 它将检查剩余的分支。
答案 1 :(得分:2)
可以先将2和3整除的测试放在首位,因此对于6,您需要y %3==0 and y %2 ==0
进行评估,而不是y %2 == 0
:
for y in x:
if y % 3 == 0 and y % 2 == 0:
print ("Divisible by 2 and 3!")
elif y % 2 == 0:
print (y)
elif y % 3 == 0:
print (y)
else:
print ("Odd number!")