十六进制转十进制
m=input()
print(int(m,16))
十六进制转八进制
n=int(input())
ls=[]
for i in range(n):
m=input()
ls.append(m)
for s in ls:
print('{:o}'.format(int(s,16)))
在输入过程中,本来是打算直接输入三个数字,用三个input()实现,但是在提交时显示错误。在参考了网友的答案后,知道需要使用for…in…循环。感谢大神。https://blog.csdn.net/qq_45894553/article/details/104504592
https://www.cnblogs.com/lovejh/p/9201219.html
补充:自己几天后又做了一遍,使用列表ls是为了使得代码可以实现题目的输出要求
用int(s,16)将十六进制转换为十进制,如上题。然后用format中的{😮}将十进制转换为八进制。
以下为format中的转换
‘b’ - 二进制。
‘c’ - 字符。
‘d’ - 十进制整数。
‘o’ - 八进制。
‘x’ - 十六进制。(小写字母)
‘e’ - 幂符号。用科学计数法打印数字
‘g’ - 一般格式。将数值以fixed-point格式输出。当数值特别大的时候,用幂形式打印。
‘n’ - 数字。当值为整数时和’d’相同,值为浮点数时和’g’相同。不同的是它会根据区域设置插入数字分隔符。
‘%’ - 百分数。将数值乘以100然后以fixed-point(‘f’)格式打印,值后面会有一个百分号。