반응형
문제의 원인은 무엇입니까?
from math import sqrt
print "a : "
a = float(raw_input())
print "b : "
b = float(raw_input())
print "c : "
c = float(raw_input())
d = (a + b + c)/2
s = sqrt(d*(d-a)*(d-b)*(d-c))
print "a+b+c =", a, b, c
print "Distr. =", d*2, "Area =", s
오류:
Traceback (most recent call last):
File "C:/Python27/fájlok/háromszög terület2.py", line 11, in <module>
s = sqrt(d*(d-a)*(d-b)*(d-c))
ValueError: math domain error
해결 방법
이를 위해 코드를 사용할 때 더 나은 방법은 예외 처리 를 사용하는 것입니다.
try:
s = sqrt(d*(d-a)*(d-b)*(d-c))
print "a+b+c =", a, b, c
print "Distr. =", d*2, "Area =", s
except ValueError:
print "Please enter 3 valid sides"
try
블록없이 수행하려면 다음과 같이 할 수 있습니다.
delta = (d*(d-a)*(d-b)*(d-c))
if delta>0:
s = sqrt(delta)
print "a+b+c =", a, b, c
print "Distr. =", d*2, "Area =", s
else:
print "Please enter 3 valid sides"
참조 페이지 https://stackoverflow.com/questions/29375970
반응형
'파이썬' 카테고리의 다른 글
파이썬 파이 게임, 소리가 나지 않아 (0) | 2020.11.25 |
---|---|
파이썬 두 날짜 사이의 DataFrame 행 선택 (0) | 2020.11.25 |
파이썬 boto3를 사용하여 S3 객체를 파일에 저장하는 방법 (0) | 2020.11.25 |
파이썬 urllib.request 모듈이 내 시스템에 설치되지 않습니다. (0) | 2020.11.25 |
파이썬 Python에서 부분 선형 피팅을 적용하는 방법은 무엇입니까? (0) | 2020.11.25 |
댓글