문제
16진수(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)를 배운
영일이는 16진수끼리 곱하는 16진수 구구단?에 대해서 궁금해졌다.
A, B, C, D, E, F 중 하나가 입력될 때,
1부터 F까지 곱한 16진수 구구단의 내용을 출력해보자.
(단, A ~ F 까지만 입력된다.)
풀이
이 문제를 풀기 위해서는 먼저 %를 이용한 포맷팅을 알아야 한다.
% 서식문자: % 뒤에 오는 자료형을 가리키는 문자
%s : 문자열
%c : 문자 1개
%d : +-부호 있는 정수
%u : +-부호 없는 정수
%f : 실수
%0.3f : 실수 (소수점 3자리까지 나오게)
%X : 16진수 대문자로
%x : 16진수 소문자로
%02X : 16진수 대문자로. 2자리 헥사에서, 앞의 빈 칸 있으면 0으로 채움우리가 뽑아내야 하는 것은 대문자 16진수 이므로 %X 를 사용한다.
그래서 밑에 자료 처럼 print('문자열 %자료형1 %자료형2' % (변수1, 변수2))를 사용해서 16진수의 구구단을 찍어낼 수 있다.
print( "%X*%X=%X" %(a, i , a*i))
1) 우린 숫자만 뽑아내기 때문에 문자열이 필요없다
2) 변수 a, i 가 차례로 %X 자리에 들어간다.
16진수를 10진수로 변수로 변환하기
a = int(input(), 16)
num10 = int(num, 16) # 16진수 값을 10진수로 변환
print("16 진수 ==>", hex(num10)) # 10진수를 16진수로 변환
for 문으로 1 부터 16 까지의 16 진수랑 변수 곱하기
for i in range(1, 16):
위의 식들을 합치면
a = int(input(), 16)
for i in range(1, 16):
print( "%X*%X=%X" %(a, i , a*i))
'<프로그래밍 언어> > [Python]' 카테고리의 다른 글
[Python] 변수값 변경하기 (0) | 2022.03.11 |
---|---|
[프로그래머스] 나머지가 1이 되는 수 찾기 (0) | 2022.03.07 |
[프로그래머스] 약수의 합 (0) | 2022.03.07 |
[프로그래머스] 수박수박수박수박수박수? (0) | 2022.03.06 |
[프로그래머스] 자릿수 더하기 (0) | 2022.03.06 |
댓글