왜 이 파이썬 열거하십시오 " wrong"; 답?
x = 16
sqrt = x**(.5)
returns 4
sqrt = x**(1/2)
returns 1
Yes, I know '수학' 와 '' 스크트 임포트합니다 사용합니다. 하지만, m 대한 답을 찾는 I& # 39 위.
쓰지 않을 수 있습니다. 그렇지 않으면 '= x * 스크트 (1/2.0)' 및 '1/2' 정수 '0' 되돌려줍니다 부문은 수행됨 표현식에서는.
이 비헤이비어는 " normal"; 윈도 3.x 의 파이썬 2.x 로 평가되는 반면 '1/2' '0.5'. 원하는 경우에는 파이썬 코드를 동작하지만 3.x w.r.t. 2.x 사단 사단 '-' 다음 '쓰기' 에서 '와' 0.5 future 가져오기의 1/2 평가할 하위 호환성을 위한 ',' 1/2 평가할 '0'.
우선, 애디슨에게 계산하는 방법은 제곱근 로만스였나:
import math
math.sqrt(x)
이 싸움은 좀 많이 늦게 답변을 기울이나 간단하고 정확하게 계산할 수 있다. # 39 의 제곱근 운행에서어떠한 newton& 메서드입니다.
You have a 번호임 계산할 수 있을 것 같다 '는 제곱근 (num)' 와 '의 제곱근 (추정)'. 추정치입니다 여러 의미가 있지만, 0 보다 큰 숫자를 사용할 수 있는 빠른 재귀 호출을 깊이까지의 향상된다.
new_estimate = (estimate + num / estimate) / 2
이 노선은 보다 정확한 예측이 계산한 함께 지내는 2 매개변수입니다. 이는 다른 함수에 대한 더 정확한 값을 전달할 수 있습니다, 컴퓨팅 new_estimate new_estimate 이전의 것보다 이렇게 하나 또는 재귀 함수 정의 할 수 있습니다.
def newtons_method(num, estimate):
# Computing a new_estimate
new_estimate = (estimate + num / estimate) / 2
print(new_estimate)
# Base Case: Comparing our estimate with built-in functions value
if new_estimate == math.sqrt(num):
return True
else:
return newtons_method(num, new_estimate)
예를 들어 찾아야 30& # 39 의 제곱근. 그 결과, 5 와 6 간 것을 우리는 압니다.
newtons_method(30,5)
번호는 30 및 견적 5. 각 반복 결과를 페이징됩니다 다음과 같습니다.
5.5
5.477272727272727
5.4772255752546215
5.477225575051661
마지막 가장 정확한 계산 결과는 수의 제곱근. 이는 같은 값을 마테오스크트 내장 함수 ().
아래 코드는 대답을 바란다 "고 언급했다.
def root(x,a):
y = 1 / a
y = float(y)
print y
z = x ** y
print z
base = input("Please input the base value:")
power = float(input("Please input the root value:"))
root(base,power)