题目描述
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
输入描述:
输入一个十六进制的数值字符串。注意:一个用例会同时有多组输入数据,请参考帖子https://www.nowcoder.com/discuss/276处理多组输入的问题。
输出描述:
输出该数值的十进制字符串。不同组的测试用例用\n隔开。
解法:
while True:#因为不知道会输入几组测试用例,所以使用while True
try:
print(int(input(),16))
except:
break
注意print中有一个参数end默认end="\n",起到换行作用。所以无需写其他即可满足“不同组的测试用例用\n隔开”。
注意:
int(xxxx,16)通过把后一个参数改为2,8,16可以分别把2,8,16进制的数字转化为10进制。
而想要转化为2,8,16进制可以这样:
1.转2进制:bin
bin(int(‘ff’,16))
(先转成10进制,再转成2进制。)
2.转8进制:oct
oct(0xf)
(任何进制可以直接转8进制)
3.转16进制:hex
hex(int(‘17’,8))
(先转成10进制,再转成16进制)