파이썬 코드 질문
조회수 3318회
16진수 글자 하나 입력하면 16진수인지 아닌지 구분하는 코드 작성하려는데 if else문이랑 and,or 사용해서
16진수이면 10진수로 변환되고 아니면 16진수 아닙니다 라고 나오려면 어떻게 해야하나요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
16진수는
0-9
,a-f
까지 문자를 표현하니까 16진수인지는 이렇게 판별하겠네요.import re def is_hex(c): p = re.compile('[0-9a-fA-F]') return p.match(c) != None
16진수 => 10진수 변환은 이렇게 하지 않을까요?
def hex2dec(c): return int(c, 16)
그래서 모두 합쳐 놓으면 이거겠죠.
import re def is_hex(c): p = re.compile('[0-9a-fA-F]') return p.match(c) != None def hex2dec(c): return int(c, 16) string = input('숫자를 입력하세요') if is_hex(string): print('16진수입니다. 10진수로 {0} 입니다.'.format(hex2dec(string))) else: print('16진수가 아닙니다.')
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력