例题:给定n个十六进制正整数,输出它们对应的八进制数。
输入的十六进制数不会有前导0,比如012A。
输出的八进制数也不能有前导0。
a = int(input())
b = []
for i in range(a):
c = oct(int(input(),16)) #先将十六进制转换为十进制,再把十进制转换为八进制
c = c[2:] #从八进制的第三位开始,将前两位的0去除
b.append(c)
for i in range(a):
print(b[i])
1.进制转换之间常用的是将其它进制转换为十进制
格式:int(输入的数,输入数的进制)
下面输入的数用x表示
十六转十:int(x,16)
八转十: int(x,8)
二转十: int(x,2)
2.十进制转换为其它的进制
要用到bin(),oct(),hex()等函数
x=int(input()) x为输入的十进制数
十转十六:hex(x)
十转八: oct(x)
十转二: bin(x)
对进制的转换都以十进制为中转,如例题中的oct(int(input(),16)