私はmax_tries
にtries
のための範囲でHeroneトライアングルをチェックするプログラムを作成しようとしているが、math.sqrt()
よこれは私のコードとValueError:数学・ドメイン・エラーmath.sqrtを使用して()
を与えています
import math
max_tries = 10000
tries = 1
half_perimeter = ((tries * 3) + 3)/2
for num in range(tries,max_try,1):
area = math.sqrt(half_perimeter * (half_perimeter - tries) * (half_perimeter - tries - 1) * (half_perimeter - tries - 2))
if isinstance(area, int) == True:
print (tries)
tries = tries + 1
else :
tries = tries + 1
実行するたびに、私はValueError: math domain error
をpythonから入手します。私のコードで何が間違っていますか?返されるエラー全体は
Traceback (most recent call last):
File "C:\Users\phong\AppData\Local\Programs\Python\Python35\Herone Triangle.py", line 9, in <module>
area = math.sqrt(half_perimeter * (half_perimeter - tries) * (half_perimeter - tries - 1) * (half_perimeter - tries - 2))
ValueError: math domain error
です。まだPythonに入っています。ありがとうございました
負の数の平方根をとっています。 –
あなたのコードでは変数 'max_try'が定義されていないため、コードを実行したり正確な問題を見つけることが難しくなります。 [最小限で完全で検証可能なサンプルの作成方法](http://stackoverflow.com/help/mcve)を参照してください。 –