코딩도장 정수와 실수 문제 중
def mod1(num):
    if type(num) == str:
        print("Math Error")
    elif float(num) == int(num):
        print("integer")
    elif float(num) != int(num):
        print("decimal")

라는 코드를 실행했을 때 받은 값입니다.

mod1(1)     integer
mod1(0)        integer
mod1(-1)        integer
mod1(0.1)         decimal
mod1(-0.1)       decimal
mod1("1")       Math Error
mod1("-1")       Math Error
mod1("K")       Math Error

여기서 "1"이나 "-0.1" 등 형식은 문자이나 내용물은 실수인 값들은 Math Error가 안나게 하고 싶은데 방법이 있을까요?

zsa778 444

2020년 11월 1일 12:19 오전

목록으로
1개의 답변이 있습니다. 1 / 1 Page

다음처럼 eval을 사용하는 방법이 있습니다.

>>> type(eval("1.0"))
<class 'float'>
>>> type(eval("1"))
<class 'int'>

박응용

M 2020년 11월 1일 12:53 오후

아 그게 있었군요 배워놓고 까맣게 잊고 있던 ㅠㅠ - zsa778님, 2020년 11월 1일 7:23 오후 추천 , 대댓글