我正在进行一项竞赛,该竞赛优先考虑具有最少角色的解决方案。我目前检查平方数的代码是:
def checkSqr(x):
return x**.5 % 1 == 0
是否有更紧凑的解决方案?
答案 0 :(得分:1)
我认为这会更短,但由于Lasagnenator删除了空格,所以不是:
return not x**.5%1
在python中,0
的计算结果为False
,而任何其他数值的计算结果为True
,因此如果表达式x
计算,则x**.5%1
为整数到0
(False
);在这种情况下,not x**.5%1
评估为True
答案 1 :(得分:0)
这个解决方案可能已经是最小的python 3解决方案,但除了def之后你可以删除所有的空格并返回以生成单行:
def checkSqr(x):return x**.5%1==0
这的工作方式相同,你应该在编程难题和代码高尔夫堆栈交换上发布这个问题。