题目解释
十二进制是一个以 12 为基数的系统,以 0,1,2,3,4,5,6,7,8,9,A,B 为数字(十进制为 A=10 和 B=11),并以前缀 0w 写入(例如:0w1A=22)。
将十二进制数转换为十进制基数,将十进制数转换为十二进制基数。
输入 |
---|
第 1 行:十二进制数 。 |
第 2 行:十进制数。 |
输出 |
---|
第 1 行:第 2 行的 |
转换后十进制数:转换后的十二进制数nm |
例
输入 | 输出 |
---|---|
0w1A | 23 |
22 | 0w1B |
实现效果
import sys
import math
# Auto-generated code below aims at helping you parse
# the standard input according to the problem statement.
n = input().lstrip('0w') #Python lstrip() 方法用于截掉字符串左边的空格或指定字符。
m = int(input())
a = 0
for j,i in enumerate(n[::-1]): # [::-1]: 代表从全列表倒序取
#enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,
#同时列出数据和数据下标
if i in 'AB':
i = ord(i)-55
a += 12**j*int(i) #12**代表12的次方
print(a)
r=''
while m>0:
r='0123456789AB'[m%12]+r
m=(m-m%12)//12 # // 取整除 - 返回商的整数部分(向下取整)
print('0w'+(r or'0'))