课程
/后端开发
/Python
/python进阶
为什么 math.sqrt(x) % 1 == 0 可以判断是不是整数?数学很差,请大神指教
2018-11-05
源自:python进阶 2-6
正在回答
因为取模的前提条件是两边的操作数必须是整数。
或者还有一种方法(伪代码):
if( int(num) == num ){...}
歌安
梦编猿 回复 歌安
我觉得用%1==0比较合理,int(math.sqrt(x))相当于强制转换了
import math
def is_sqr(x):
return math.sqrt(x)%1==0
print filter(is_sqr, range(1, 101))
这样应该是可以解释的
开平方之后,对1 取余数, 余数= 0 , 代表可以整除
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计