[경성 프로그래밍 교육 3일차]파이썬 프로그래밍 - 16진수를 10진수로 변환하기

중고생을 위한 경성 프로그래밍 교육(파이썬 프로그래밍) - 3. 객체 지향 프로그래밍b파이썬특강3.pptx



16진수를 10진수로 변환하기(파이썬 프로그래밍)

16진수 숫자를 10진수 숫자로 변환해 주는 프로그램을 살펴보자.






def main():
# 사용자로부터 16진수 숫자를 입력받는다.
hex = input("16진수 숫자를 입력하세요: ").strip()

decimal = hexToDecimal(hex.upper())
if decimal == None:
print("잘못된 16진수 숫자입니다.")
else:
print("입력된 16진수 숫자", hex, "에 대한 10진수 표현은", decimal, "입니다.")

def hexToDecimal(hex):
decimalValue = 0
for i in range(len(hex)):
ch = hex[i]
if 'A' <= ch <= 'F' or '0' <= ch <= '9':
decimalValue = decimalValue * 16 + hexCharToDecimal(ch)
else:
return None
return decimalValue

def hexCharToDecimal(ch):
if 'A' <= ch <= 'F':
return 10 + ord(ch) - ord('A')
else:
return ord(ch) - ord('0')

main()


strip(), upper(), ord()


strip() : 문자열의 끝에 .strip() 메소드를 붙이게 되면, 문자열의 '맨앞'과, '맨뒤'의 whitespace가 제거가 된다.

upper() : 입력받은 문자를 대문자로 변경

ord() : ex ord('A') 의 경우 문자 'A'의 ASCII 값을 출력


실행결과




Quiz) 문자 'A'의 ASCII 값은?