私は、三角形の中心を計算するために次のコードを書いています。このコードは、code-golf用のコードです。どんな助けもありがとう。ラムダ関数が浮動小数点を返さない
d = lambda x,y: ((x[0]-y[0])**2+(x[1]-y[1])**2)**0.5
e = lambda w,x,y,z: float(d(y,z)*x[w]+d(z,x)*y[w]+d(x,y)*z[w])/(d(x,y)+d(y,z)+d(z,x))
a,b,c=eval(input())
px,py=e(0,a,b,c),e(1,a,b,c)
print('[%f,%f]' % (px,py))
入力:
([1,2],[2,2],[1,2])
予想される出力:
[1.2928932188134525, 1.7071067811865475]
実際の出力:
[1.000000,2.000000]
あなたは(あなたがいけない)にevalを使用する必要がある場合は、 ['ast.literal_eval'](https://docs.python.org/3/library/ast.html#ast.literal_eval)を使用してください。 –