문자를 숫자로 변환하는 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 → 알파벳 순서 구하기