如何在python中返回平方根的精確值?

貓薄荷

如果我輸入 25,則答案應該是 5 作為整數。如果我輸入 24 答案應該是 4.898989486 浮點數。這可以在python中做到嗎?

上下文-:我需要編寫一個代碼來找到下一個完美的正方形。

import math

def find_next_square(sq):
    # Return the next square if sq is a square, -1 otherwise
    sq2=math.sqrt(sq)
    xyz=isinstance(sq2, int)
    if (xyz==True):
        print("Is perfect square")
        nextsq=sq+1
        print("Next perfect square=",nextsq**2)
    else:
        print("Not perfect square")
        return -1

n=int(input("Enter an integer"))
find_next_square(n)

這是代碼。對於 25,這將返回 sq2=5.0,因此它返回非完美平方。我需要一種方法來使這個返回完美的正方形。

期望的行為-:

如果我把 25 作為 n。它應該將它作為完全平方返回並返回 36。

具體問題-:

這裡的問題是

import math

sq=25
sq2=math.sqrt(sq)
print(sq2)
xyz=isinstance(sq2, int)
print(xyz)

即使對於 sq=25,它也會將其作為浮點數返回。那個 math.sqrt() 函數。它改變了我的整個遊戲。

重現問題所需的最短代碼-:

import math

sq=24
sq2=math.sqrt(sq)
print(sq2)
xyz=isinstance(sq2, int)
print(xyz)
評分
import math

ans = math.sqrt(int(input()))  # calculate an answer
print(int(ans) if ans.is_integer() else ans)  # convert answer to int if we can do it

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章