编写Python程序:读取整数并输出该整数是否为2或5的倍数但不同时为两者的倍数
Python Program to Check Divisibility by 2 or 5 (But Not Both)
嘿,这个需求其实就是要判断一个整数满足是2的倍数或者是5的倍数,但不同时是两者的倍数,本质上就是逻辑异或(XOR)的应用场景。下面给你两种简洁的实现方式,都很容易理解:
方法一:用基础逻辑运算符组合
这种写法更直观,适合刚接触逻辑判断的朋友:
# 读取用户输入的整数 try: num = int(input("请输入一个整数: ")) except ValueError: print("抱歉,你输入的不是有效的整数,请重新运行程序并输入整数。") exit() # 判断条件:是2或5的倍数,但不同时是两者的倍数 condition = (num % 2 == 0 or num % 5 == 0) and not (num % 2 == 0 and num % 5 == 0) # 输出结果 print(f"该整数是否满足条件: {condition}")
方法二:用异或运算符简化
因为我们要的是“两个条件中恰好满足一个”,Python的异或运算符^正好可以直接实现这个逻辑,代码更简洁:
# 读取用户输入的整数 try: num = int(input("请输入一个整数: ")) except ValueError: print("抱歉,你输入的不是有效的整数,请重新运行程序并输入整数。") exit() # 用异或运算符直接判断:恰好满足一个倍数条件 condition = (num % 2 == 0) ^ (num % 5 == 0) # 输出结果 print(f"该整数是否满足条件: {condition}")
测试案例说明
- 输入
4:是2的倍数,不是5的倍数 → 输出True - 输入
10:同时是2和5的倍数 → 输出False - 输入
15:是5的倍数,不是2的倍数 → 输出True - 输入
7:既不是2也不是5的倍数 → 输出False
另外,我加了异常处理,防止用户输入非整数导致程序崩溃,这样程序的健壮性更好~
内容的提问来源于stack exchange,提问作者Rakibut Tawhid Shafee
相关产品推荐
相关产品推荐

