최근에 Python 3에 순위 알고리즘 AllegSkill을 구현하려고했습니다.
수학은 다음과 같습니다.
이것은 내가 쓴 것입니다 :
t = (µw-µl)/c # those are used in
e = ε/c # multiple places.
σw_new = (σw**2 * (1 - (σw**2)/(c**2)*Wwin(t, e)) + γ**2)**.5
실제로 파이썬 3가 변수 이름을 받아들이지 √
않거나 ²
변수 이름으로 사용 하는 것이 불행하다고 생각했습니다 .
>>> √ = lambda x: x**.5
File "<stdin>", line 1
√ = lambda x: x**.5
^
SyntaxError: invalid character in identifier
나는 내 마음에서 벗어나 있습니까? ASCII 전용 버전을 사용해야합니까? 왜? 위의 ASCII 전용 버전이 수식과 동등한 지 확인하는 것이 더 어렵지 않습니까?
일부 유니 코드 글리프는 서로 매우 비슷하게 보이고 (또는)) 또는 ╦와 같이 작성 된 코드에서는 의미가 없습니다. 그러나 이것은 수학이나 화살표 그림에는 해당되지 않습니다.
요청에 따라 ASCII 전용 버전은 다음과 같습니다.
winner_sigma_new = ( winner_sigma ** 2 *
( 1 -
( winner_sigma ** 2 -
general_uncertainty ** 2
) * Wwin(t,e)
) + dynamics ** 2
)**.5
... 알고리즘의 각 단계마다.
sqrt = lambda x: x**.5
나에게 함수 (보다 정확하게 말하면 호출 가능)를 얻습니다 sqrt(2) => 1.41421356237
.