강의로 돌아가기
김준홍

int(num,base)

전 실습 문제에서
print(int(num,base))
하면 오류가 납니다num이int형이라 오류가 나는건가요?

2 개의 답변
Demi

안녕하세요. int() 함수의 2번째 인자인 base는 정수형이어야합니다.
전 실습 문제를 풀 때에는 int(num, int(base)) 와 같이 바꿔야할거에요.

  • 김준홍
    map(int,input().split()) 이렇게 받으면 base도 인트형 아닌가요? 김준홍 2018.06.15 10:57
  • 김준홍
    저는 int(str(num),base) 이렇게 답을 바꿨더니 오류가 안나더라구요 김준홍 2018.06.15 10:58
  • Demi
    @김준홍 그럼 첫번째 param인 num의 형식이 잘못된 것 같습니다. num 은 str 형, base는 int 형으로 바꿔보세요. Demi 2018.06.15 10:58
  • 김준홍
    아하 감사합니다 그런데 'num' 이렇게 해도 오류가 나던데 'num'을 해도 원래 형변환이 안되는건가 보군요 김준홍 2018.06.15 11:00
Demi

int 도큐먼트를 보면,

if base is given, then x must be a string, bytes, or bytearray instance representing an integer literal in radix base

라고 되어있습니다. base를 명시했다면 x는 string, bytes, bytearray 형식이어야합니다.
따라서 num을 int 형으로 전달할 경우에는 에러가 발생한거죠!

  • 아하 탈퇴한 사용자 2018.06.15 12:08
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.