课程
/后端开发
/Python
/python进阶
为什么is_sqr2的函数里边,x=11,14的时候居然是true?
2020-03-07
源自:python进阶 2-6
正在回答
判断一个数的平方根是否是整数:math.sqrt(x)==int(math.sqrt(x))
比如:1.5==int(1.5)为False
你的这个x==r*r存在不确定性,一个数的平方根是浮点型,浮点型是一种不准确的数值,有时候根乘以根可能和这个数相等,有时候是无限接近。你的算法中,11和14的平方根相乘正好等于11或者14,所以为True。如果换其他机器或环境运行,可能又为False。我是这样理解的。你可以查相关的资料。
值大于1所以是true
慕运维3238043 提问者
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计