Python 3.5.7:如何判断非整数并执行对应打印操作
判断非整数并执行打印的正确实现方式
嘿,我来帮你捋捋这个问题~你原来设想的if (yr/4)逻辑其实不太能准确判断是不是非整数,因为不同编程语言里除法的行为差异很大,直接拿除法结果当判断条件容易踩坑。下面分两种常见的需求场景给你靠谱的实现方式:
场景1:判断变量yr本身是否为非整数
如果你的需求是只要yr不是整数就打印语句,那可以用这些方法:
Python 实现
# 示例:yr是一个非整数 yr = 7.2 # 方法1:检查小数部分是否为0 if yr % 1 != 0: print("this is not a whole number") # 方法2:判断转换为整数后是否和原数相等 if yr != int(yr): print("this is not a whole number")
解释:yr % 1会返回yr的小数部分,只要结果不为0,就说明它不是整数;第二种方法则是通过把yr转成整数后和原数对比,来验证是否为整数。
JavaScript 实现
let yr = 7.2; // 用内置方法直接判断 if (!Number.isInteger(yr)) { console.log("this is not a whole number"); }
解释:Number.isInteger()是JS专门用来判断值是否为整数的方法,非常直观可靠。
场景2:判断yr除以4的结果是否为非整数
如果你实际想判断的是yr不能被4整除(也就是yr/4的结果不是整数),那应该检查余数:
Python 实现
yr = 9 # 检查yr除以4的余数是否不为0 if yr % 4 != 0: print("this is not a whole number")
JavaScript 实现
let yr = 9; if (yr % 4 !== 0) { console.log("this is not a whole number"); }
解释:yr % 4会得到yr除以4的余数,只要余数不为0,就说明yr没法被4整除,对应的除法结果自然不是整数。这种方法比直接用yr/4判断要靠谱得多——毕竟很多语言里整数之间的除法会自动取整,直接判断除法结果根本没法得到正确结论。
内容的提问来源于stack exchange,提问作者m_h_s_horse
相关产品推荐
相关产品推荐

