220111

박찬웅·2022년 1월 11일
0

공부

목록 보기
2/12

👨🏻‍💻인프런) 파이썬🐍 100 문제풀이part.1

  • 여러 자료형과 데이터 편집 방법을 배웠다.
  • ASCII 코드, ord(), chr() 함수에 대해 알게 되었다.

자료형. Datatype

정수 int, 실수 float, 문자열'string', 리스트[list], 튜플(tuple), 집합{set}, 딕셔너리{key : value}
집합(set)는 중복을 허용하지 않는다.
d = 1,2,3,4,5
의 경우 파이썬은 자동으로 tuple 형태로 입력받는다.

ASCII코드
컴퓨터는 내부에서 숫자 또는 문자에 대한 정보처리를 이진수로 처리한다.
문자와 숫자에 대응을 시켜줘야하는데 여러 방법중 아스키 코드 방식을 사용한다.
알파벳 각각의 문자에 번호를 붙여서 처리한다.

대문자 A --> 65(이후부터는 하나씩 증가하므로 B --> 66)
소문자 a --> 97
숫자 0 --> 48
엔터(enter) --> 13
NULL --> 0

#ord() --> 문자열을 입력받아 해당 문자에 해당하는 아스키코드를 반환(int)
#chr() --> 아스키 코드를 문자열로 변환해준다. (str)

위 내용들을 참고해서 파이썬으로 문자 -> ASCII code 변환 프로그램을 만들어보았다.

# 사용자로 부터 숫자(아스키 코드)를 입력받아 그에 해당하는 문자를 출력하는 프로그램을 구현하시오. 구현된 함수로는 ord() 함수가 있다.

small = ['a','b','c','d','e','f','g','h','i','j','k','l','m','o','p','q','r','s','t','u','v','w','x','y','z']
capital = ['A','B','C','D','E','F','G','H','I','J','K','L','M','O','P','Q','R','S','T','U','V','W','X','Y','Z']
num = [str(i) for i in range(0, 10)]
# range(start, end+1, n)의 연속되는 값을 간단하게 나타낼 수 있다.
# 한 줄 for 문으로 리스트를 만들었다.
phrase1 = '당신이 입력한 문자의 코드는: '

while True:
    candy = input()
    print('문자를 입력하면 해당하는 아스키코드를 출력해드려요 = ',candy,type(candy))
    #input 은 str 타입으로 입력을 받는 함수이다.
    if candy in num:
        print(phrase1 ,int(candy)+48)

    elif candy in capital:
        temp = {}
        j = 65
        for i in capital:
            temp[i] = j
            j += 1
        print(phrase1 ,temp.get(candy))
        # .get 함수: dict의 키를 괄호안에 입력하면 할당된 값을 불러온다. 

    elif candy in small:
        temp = {}
        j = 97
        for i in small:
            temp[i] = j
            j += 1
        print(phrase1 ,temp.get(candy))
    elif candy == 'NULL': print(phrase1 ,0)
    elif candy == 'break': break
    else :print('error')

비슷한 문제로 다음번엔 함수로 정의해서 만들어 봐야겠다.

profile
기록장

0개의 댓글