Python:可以被两个给定的整数整除

时间:2017-02-20 18:27:41

标签: python division

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整除。我怎么能修复错误?

2 个答案:

答案 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分割。这意味着在你的情况下它会选择第一个分支。通过交换订单,它将首先检查23是否可以分割。如果不是这种情况 - 即如果至少有一个条件失败 - 它将检查剩余的分支。

答案 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!")