さて、Pythagorean定理では、最も長い長さになるように斜辺が必要です。私は配列を並べ替えることができました。配列は自動的に値を最小から最大まで並べ替えます。さて、問題は私が値で何をしているのですか?プログラム内のユーザは、最長の長さ(ユーザが座標を入力する)を知らず、コンピュータは3点をグラフ化し、距離の公式を使用して3辺の長さを見る。Pythagorean定理(Python)を解決するための順序付き配列の使用
値をソートできるコードは次のとおりです。
#result3, result2, result are leg measurements
brandonarray[result3,result2,result]
brandonarray.sort(key=int)
したがって、例えば、ユーザのプロット3つのランダムな点は、私は、プログラムがアレイ距離番号を印刷なさ (使用(3,5)、(10,10)、(19,20)をすることができます)場合。
#result3 was 8, result2 was 13, result was 21
[8,13,21]
これらの3つの数字を入力すると、動作することがわかります。プログラムでは、これらの脚の測定値によってスカラーとなり、鈍角の三角形になることを伝えました。
しかし、ユーザーがサイドの長さに注意を払わずにポイントを作った場合はどうなりますか?
#all of these are strings b/c in the beginning of program, user has input
joe=str(float(result3)**int(2))
sally=str(float(result2)**int(2))
print(str(float(result3)**int(2)),"+",float(result2)**int(2),"=",float(result)**int(2))
print("")
print(str(float(joe)+float(sally)),"=",str(float(result)**int(2)))
#this code no matter what, will take the number its assigned too, regardless if its bigger than the hypotenuse
if(str(float(joe)+float(sally))>str(float(result)**int(2))):
print("This is an acute triangle!")
elif(str(float(joe)+float(sally))<str(float(result)**int(2))):
print("This is an obtuse triangle!")
elif(str(float(joe)+float(sally))==str(float(result)**int(2))):
print("This is an right triangle!")
私が本当に求めていることは、私が上で見たように、アレイを使用し、最小値から最大まで、ピタゴラスの定理に実装することができる方法です。助けてくれてありがとう!
あなたのコードにfloat <-> int <->文字列が多すぎます。それらのほとんどを削除する必要があります。 – Elazar
特に、 'int(2)'はノーオペレーションです。 – Elazar
'brandonarray [result3、result2、result]'?あなたは 'brandonarray = [result3、result2、result]'を意味しますか? – Elmex80s