python之 十进制与十二进制 相互转换~clash of coding

文章目录

  • 题目解释
  • 实现效果

题目解释

十二进制是一个以 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'))

你可能感兴趣的:(Python,Coding,大数据,python,算法)