对于python,十六进制转八进制的算法问题解析,具体代码如下
"""
bin(x)返回 2 进制字符串。
oct(x)返回 8 进制字符串。
hex(x)返回 16 进制字符串。
int(n, x) 将n转换为x进制的数
"""
n = int(input())
x = []
for i in range(n):
x.append(oct(int(input(),16)))
for i in x:
print(i[2:])
1.对于第一个for循环,先执行input函数获取十六进制数,但是所获得的为字符串类型,无法进行使用,所以通过int(n,x) 函数将其转换为可使用的数字。
然后通过oct()函数进行八进制的转换。
最后通过.append()添加到先前创建的列表末尾。
2.对于第二个for循环,如果不对i进行相应的切片操作,对于2 39 123ABC 的输出前会带有
0o前缀,进行切片操作之后会让编译器从第三位开始切片到末尾然后进行输出,符合了要求