python - 可被两个给定整数整除

标签 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 整除。我该如何解决错误?

最佳答案

这里有两个问题:首先条件应该是:

elif y %3 <b>== 0</b> and y %2 ==0:

因为有两个不同的条件。接下来,您需要将该支票移动到顶部,因此:

for y in x:
    <b>if y %3 == 0 and y %2 ==0:</b>
    <b>    print ("Divisible by 2 and 3!")</b>
    elif y %2 == 0:
        print (y)
    elif y %3 == 0:
        print ("y")
    else:
        print ("Odd number!")

为什么?因为如果一个数字可以被 2 和 3 整除,它也可以被 2 整除。所以这意味着在你的情况下它会选择第一个分支。通过交换顺序,它将首先检查它是否可以被 23 整除。如果不是这种情况 - 即如果至少一个条件失败 - 它将检查剩余的分支。

关于python - 可被两个给定整数整除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42351823/

相关文章:

python - 从一个数据的结构中找到外推并将其应用于另一个数据

python - 如何在处理文本时使用 pandas 忽略 CSV 列中的空值?

c# - 一个简单的 C# 语句工作意外

c - 在c中将 float 除以整数时得到整数结果

regex - 可被 5 整除的二进制数的正则表达式

匹配keyworks的python过滤行

python - 从脚本退出交互式 python3 session

python - 有没有办法绕过客户端的 Varnish 缓存?

c - 通过快速浮点倒数高效计算 2**64/除数

c++ - 带 float 的双除法