课程
/后端开发
/Python
/python进阶
r = int(math.sqrt(x)) return r*r==x
这两条语句不理解是什么意思
2018-01-24
源自:python进阶 2-6
正在回答
因为math.sqrt()函数会返回一个float类型(浮点型)数,所以要判断该数的平方根是否为整数要现将其转换为整型(float类型转换为整型会将其从小数点截断只保留整数)然后再判断该数的平方是否与x相等即可,相等即可证明x的平方根为整数。
int(math.sqrt(x))中math.sqrt(x)表示求x的平方根,int()表示将其转换为整型
return r*r==x表示判断r(经过类型转换得到的值)的平方是否等于x,等于则返回ture,不等于则返回false
qq_透明也褪色_0 提问者
云才哥 回复 qq_透明也褪色_0 提问者
楼上是正解:还有一种方案更好理解点:
r = math.sqrt(x) r == int(r)
判断平方根和转换成int类型是否相等,相等就是整数
云才哥
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计