본문 바로가기

Python

Python - 예외처리 연습문제

'''
1. 화면에서 주민등록번호를 000000-0000000 형태로 입력받는다.

주민등록번호 뒷자리의 첫 번째 숫자는 성별을 나타낸다. 

주민등록번호에서 성별을 나타내는 숫자를 조회하여

성별을 나타내는 숫자가 1,3 이면 남자로 2,4면 여자로 출력한다. 

그외는 내국인아님으로 출력한다.

-이 없는 경우는 '주민번호 입력오류' 출력하기
'''

jumin = input("00000-000000 형태로 주민번호를 입력하세요")
try : 
    index = jumin.index("-")
    gender = jumin[index+1:index+2]
    if (gender == '1' or gender == '3'):
        print("남자")
    elif (gender =='2' or gender =='4'):
        print("여자")
    else :
        print("내국인 아님")
except : 
    print("주민번호 입력 오류")


'''
2. 소문자와 숫자로 이루어진 문자를 암호화 하고 복호화 하는 프로그램 작성하기
원래 문자 : a b c d e f g h i j k l m n o p q r s t u v w x y z 
암호 문자 : ` ~ ! @ # $ % ^ & * ( ) - _ + = | [ ] { } ; : , . /

원래 숫자 : 0 1 2 3 4 5 6 7 8 9 
암호 숫자 : q w e r t y u i o p​

[결과]
문자를 입력하세요 
원문 : abc123
암호화
`~!wer
복호화
abc123
'''
den = "abcdefghijklmnopqrstuvwxyz0123456789"
cen = "`~!@#$%^&*()-_+=|[]{};:,./qwertyuiop"

src = input("문자를 입력하세요.")
result = ""
for i in range(0,len(src)):
    for d in range(0,len(den)):
        if src[i] == den[d]:
            result += cen[d]
            break
        
print("암호화")
print(src,'=',result)
src = result
result = ""
for i in range(0,len(src)):
    for d in range(0,len(cen)):
        if src[i] == cen[d]:
            result += den[d]
print("복호화")
print(src,'=',result)



'''
3. 16진수를 입력하면 16진수 인지 아닌지 판단하여

16진수가 맞으면 10진수로 변경하기.

16진수가 아닌 경우 16진수 아님을 출력하기
'''

num16 = input("16진수 입력 :")
able16=True
for i in range(0,len(num16)):
    num = num16[i]
    if ('0'<=num and num<='9') or ('a' <= num and num <= 'f') \
        or ('A' <= num and num <= 'F'):
        print(end="")
    else :
        print(num16,"문자는 16진수 문자가 아닙니다")
        able16 = False
        break
if able16 :
    print(num16,"=",int(num16,16))
        
        
num16 = input("16진수 입력 :")
try : 
    num10 = int(num16,16)
except ValueError:
    print(num16,"는 16진수가 아닙니다.")
else :
    print(num16,"의 10진수:",num10)
    
    

'Python' 카테고리의 다른 글

Python - 모듈  (0) 2021.06.16
Python - Class  (0) 2021.06.16
Python - 예외 처리 (except)  (0) 2021.06.15
Python - 함수/입력 연습 문제(피보나치 수열, 홀수 짝수 문제)  (0) 2021.06.15
Python - 반환값 return  (0) 2021.06.14