본문 바로가기
프로그램

[파이썬] 문제 : 1개 글자 입력 받아 2진수,8진수,10진수,16진수 판별

by 오디세이99 2023. 4. 11.
728x90
반응형

num = ['2진수','8진수','10진수','16진수']   # 기준 및 출혁할 이름
s = input('글자 입력 : ')                   # 입력 받음.

rtn = []                                    # 판별 구분 결과 리스트
if s >= '0' and s < '2':                   # 2진수
    rtn = [0]                               # rtn 리스트에 num의 2진수 인덱스 대입(리스트로 대입)
elif s >= '2' and s <= '7':                # 8,10,16진수
    rtn = [1,2,3]                           # 8,10,16진수 지정
elif s >= '7' and s <= '9':
    rtn = [2,3]                              # 10,16진수 지정
elif s >= 'A' and s <= 'F':
    rtn = [3]                                # 16진수 지정
else:
    _                                        # 코드 없음

if len(rtn) > 0:                             # 판별 리스트의 요소가 있으면
    print(' 또는 '.join([num[i] for i in rtn]),'입니다.')   # join 으로 출력할 문자열을 만들어 출력
else:
    print('숫자가 아닙니다.')                 # 판별 리스트의 요소가 없으면 숫자가 아님

728x90
반응형

댓글