最短的方法来检查浮点数是否是正方形数字

时间:2017-09-30 03:00:28

标签: python python-3.x perfect-square

我正在进行一项竞赛,该竞赛优先考虑具有最少角色的解决方案。我目前检查平方数的代码是:

def checkSqr(x):
     return x**.5 % 1 == 0

是否有更紧凑的解决方案?

2 个答案:

答案 0 :(得分:1)

我认为这会更短,但由于Lasagnenator删除了空格,所以不是:

return not x**.5%1

在python中,0的计算结果为False,而任何其他数值的计算结果为True,因此如果表达式x计算,则x**.5%1为整数到0False);在这种情况下,not x**.5%1评估为True

答案 1 :(得分:0)

这个解决方案可能已经是最小的python 3解决方案,但除了def之后你可以删除所有的空格并返回以生成单行:

def checkSqr(x):return x**.5%1==0

这的工作方式相同,你应该在编程难题和代码高尔夫堆栈交换上发布这个问题。