문자를 숫자로 변환하는 ord() 함수와 숫자를 문자로 변환하는 chr() 함수

2025. 3. 12. 23:15파이썬-백준 문법

1. ord()로 문자 → 숫자 변환

print(ord('A'))  # 65
print(ord('B'))  # 66
print(ord('Z'))  # 90
print(ord('a'))  # 97
print(ord('z'))  # 122
print(ord('0'))  # 48
print(ord('9'))  # 57

📌 ord('A')는 65를 반환하며, 이는 ASCII 또는 유니코드에서 A의 숫자값입니다.


2. chr()로 숫자 → 문자 변환

print(chr(65))  # 'A'
print(chr(90))  # 'Z'
print(chr(97))  # 'a'
print(chr(122)) # 'z'
print(chr(48))  # '0'
print(chr(57))  # '9'

📌 chr(65)는 **'A'**를 반환하며, 숫자를 다시 문자로 변환할 수 있습니다.


3. 대소문자 변환 (문자 코드 활용)

def to_lowercase(letter):
    return chr(ord(letter) + 32)

def to_uppercase(letter):
    return chr(ord(letter) - 32)

print(to_lowercase('A'))  # 'a'
print(to_uppercase('z'))  # 'Z'
 
 

📌 영어 알파벳에서 대문자(A-Z)는 65~90, 소문자(a-z)는 97~122 범위를 가지며, 소문자는 대문자보다 +32 큰 값을 가집니다.


4. 알파벳 순서 구하기

def alphabet_index(letter):
    return ord(letter) - ord('A') + 1  # A=1, B=2, ..., Z=26

print(alphabet_index('A'))  # 1
print(alphabet_index('Z'))  # 26

📌 ord(letter) - ord('A') + 1을 하면 A=1, B=2, ..., Z=26처럼 변환할 수 있어요.


🚀 요약

  • ord('A') → 65 (문자를 숫자로 변환)
  • chr(65) → 'A' (숫자를 문자로 변환)
  • ord('a') - ord('A') == 32 (대소문자 차이)
  • ord(letter) - ord('A') + 1 → 알파벳 순서 구하기