【问题标题】:Finding next perfect square [closed]寻找下一个完美的正方形[关闭]
【发布时间】:2016-08-26 02:27:27
【问题描述】:

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

例如 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)

【问题讨论】:

  • 寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建Minimal, Complete, and Verifiable example
  • 只需在你的函数调用前添加一个打印,“print perfect_sqr(121)”,也请缩进返回语句。
  • 为什么不取n 的平方根,然后找到天花板(向上取整),然后平方?

标签: python next perfect-square


【解决方案1】:

缩进似乎不正确。也许只是你在这里格式化它的方式?另外,采纳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))

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

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

【讨论】:

  • 不客气。如果这个答案是您所需要的,您介意将其标记为您的问题的已接受答案吗?
猜你喜欢
  • 2015-08-07
  • 2013-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-30
  • 2017-09-04
  • 1970-01-01
相关资源
最近更新 更多