私は与えられた数値にsqrtを実行するPythonコードを書こうとしています。いくつかの状況が単純に小数点を吐き出すかもしれないことに気付く(これは私が望まない)。コードで何が行われるかを決める前に、結果が整数か小数かを判断するために、どのようにコードを追加する必要がありますか?数値をsqrtに変換する方法と、その小数点以下の桁数が異なる場合
この質問はリストではないので、リスト内のどのようにするかではなく、平方根関数の精度を保証する方法ではありません。
私は与えられた数値にsqrtを実行するPythonコードを書こうとしています。いくつかの状況が単純に小数点を吐き出すかもしれないことに気付く(これは私が望まない)。コードで何が行われるかを決める前に、結果が整数か小数かを判断するために、どのようにコードを追加する必要がありますか?数値を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