def float_cut_five(float_input):
"""소수를 받아 다섯 째 자리까지 내림하여 반환하는 함수"""
# 소수가 아닐 시 그대로 반송하기
if type(float_input) != float:
return float_input
# raise TypeError 도 가능하다
# 입력을 문자열로 바꾸기
result = str(float_input)
# 소수점 위치 찾기
point = result.index('.')
# 소수점 중심으로 가른 뒤, 뒤에는 다섯 문자만 남기고 다시 합치기
result = result[:point] + result[point:point+6]
# 소수로 변환 후 반환하기
return float(result)
print(float_cut_five(3.141))
print(float_cut_five(3.1415))
print(float_cut_five(3.14159))
print(float_cut_five(3.141592))
print(float_cut_five(2.718))
print(float_cut_five(2.7182))
print(float_cut_five(2.71828))
print(float_cut_five(2.718281))
print(float_cut_five("Lovely Spam!"))
결과:
3.141
3.1415
3.14159
3.14159
2.718
2.7182
2.71828
2.71828
Lovely Spam!
아니 근데 생각해보니 이거 필요 없이 3자리를 출력하면 당연히 3자리가 출력되고 5자리를 출력하면 당연히 5자리가 출력되는 거 아닌가