栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

例

输入输出
0w1A23
220w1B
实现效果
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'))
暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1015440.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号