-3

这段代码应该找出给定的输入是否是完美的正方形并返回下一个完美的正方形

例如 n=121-->144

但我不知道为什么它不起作用

寻找下一个完美的正方形

from math import sqrt,pow

def perfect_sqr( n ):
    if n%n**0.5==0:
return pow((sqrt(n)+1),2)
perfect_sqr(121)
4

1 回答 1

2

缩进似乎不正确。也许只是你在这里格式化它的方式?此外,采取 pmaniyan 的建议添加打印语句

from math import sqrt,pow

def perfect_sqr( n ):
    if n%n**0.5==0:
        return pow((sqrt(n)+1),2)
print(perfect_sqr(144))

为我产生所需的行为。None如果n不是一个完美的正方形,则函数返回。

对于 Python 2.7,使用print perfect_sqr(144)

于 2016-05-01T06:13:49.777 回答