
is_float 함수는 숫자가 실수인지 확인하는 함수입니다. 하지만, 현재 코드는 숫자가 실수인지 아닌지 확인하는 데에는 문제가 없습니다. 그러나, 정수도 True를 반환하는 문제가 있습니다.
이 문제의 이유는 float() 함수가 정수도 실수로 변환할 수 있기 때문입니다. 예를 들어, float(123) = 123.0 이라는 결과가 나옵니다. 따라서, 정수도 실수인 것처럼 처리됩니다.
정확하게 숫자가 실수인지 확인하려면, 다음과 같이 수정할 수 있습니다.
#hostingforum.kr
python
def is_float(num):
try:
f = float(num)
return f != int(f)
except ValueError:
return False
이 코드에서는 float() 함수로 숫자를 실수로 변환한 후, int() 함수로 정수로 변환하여 두 값을 비교합니다. 만약, 실수와 정수가 다르면 True를 반환하고, 같으면 False를 반환합니다.
2025-06-07 06:31