코드업/파이썬 기초 100제

[코드업] 파이썬 기초 100제 6081

양상추상츄 2021. 10. 21. 00:07

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 까지만 입력된다.)

예시
...
  print('%X'%n, '*%X'%i, '=%X'%(n*i), sep='')
...

참고
print('%X'%n)    #n에 저장되어있는 값을 16진수(hexadecimal) 형태로 출력
작은 따옴표 2개를 사용해서 print(..., sep='') 으로 출력하면, 공백없이 모두 붙여 출력된다.
작은 따옴표 2개 '' 또는 큰 따옴표 2개 "" 는 아무 문자도 없는 빈문자열(empty string)을 의미한다.

입력

16진수로 한 자리 수가 입력된다.
단, A ~ F 까지만 입력된다.

출력

입력된 16진수에 1~F까지 순서대로 곱한, 16진수 구구단을 줄을 바꿔 출력한다.
계산 결과도 16진수로 출력해야 한다.

입력 예시

B

출력 예시

B*1=B

B*2=16

B*3=21

B*4=2C

B*5=37

B*6=42

B*7=4D

B*8=58

B*9=63

B*A=6E

B*B=79

B*C=84

B*D=8F

B*E=9A

B*F=A5

 

정답

a = int(input(),16)
for i in range(1,16):
    print('%X*%X=%X' %(a,i,a*i))

 

 

이밑에 코드가 원래 내가 하던건데 왜 같은 결과가 안나오는지는 모르겠다..

c = int(input(), 16)# 16진수를 10진수로

for i in range(1, 16):

    print('%X'%c,'*','%X'%i,'=','%X'%c*i)