我想寫一些python代碼,它在一個給定的數字上執行一個sqrt。意識到一些情況可能只是吐出小數(我不想)。在決定如何處理它之前,如何檢查或添加什麼代碼來確定結果是代碼中的整數還是小數?如何sqrt數字,如果它的小數,給出不同的輸出
這個問題是不同的,因爲它不是一個列表,這個問題是如何在列表中做到這一點,而不是如何確保平方根函數的準確性。
我想寫一些python代碼,它在一個給定的數字上執行一個sqrt。意識到一些情況可能只是吐出小數(我不想)。在決定如何處理它之前,如何檢查或添加什麼代碼來確定結果是代碼中的整數還是小數?如何sqrt數字,如果它的小數,給出不同的輸出
這個問題是不同的,因爲它不是一個列表,這個問題是如何在列表中做到這一點,而不是如何確保平方根函數的準確性。
爲什麼不檢查if int(num) == num:
。這應該工作。
from decimal import *
getcontext().prec = 20 #It represents the precision. Increase it if you need.
num = Decimal(num).sqrt()
if int(num) == num:
print 'whole number'
else:
pass
@JohnColeman你是什麼意思?我只想知道輸入的數字是否是完美的正方形。這似乎工作,但也許我錯了。 – Mine
@JohnColeman對於草率的工作,我真的很抱歉。我是新的stackoverflow。在刪除時,我錯誤地刪除了'num ='部分。感謝您指出我的錯誤。對於造成的不便,我深表歉意。 –
是否可以滿足以下條件?
import math
def alternativeSqrt(x):
num = x**0.5
if math.floor(num) == num:
return num
else:
return f(x)
你想檢查的數字有多大? –
它有多大?我會說不少於256位數......;) – Mine