python进制转化器(任意进制)
目标:实现任意进制转换(2-36进制)
先输入一个当前进制与目标进制,下一行输入当前进制的数,回车即可得出目标进制数
方法:
将当前进制数利用 int函数 转化为十进制
n = int(str(c), a)
由于十进制往后可能会有字母表示,可以通过字典将所有情况列出(36进制最后一个为’z’)
dic = {10: 'a', 11: 'b', 12: 'c', 13: 'd', 14: 'e', 15: 'f', 16: 'g', 17: 'h', 18: 'i', 19: 'j', 20: 'k', 21: 'l',22: 'm', 23: 'n', 24: 'o', 25: 'p', 26: 'q', 27: 'r', 28: 's', 29: 't', 30: 'u', 31: 'v', 32: 'w', 33: 'x', 34: 'y', 35: 'z'}
利用while循环将转化的十进制数对目标进制进行取余,将余数判断后放入列表中
yus.append(dic.get(yu)) if yu >= 10 else yus.append(yu)
最后将存放余数的列表倒置即可
yus = yus[::-1]
完整代码:
a, b = map(int, input().split())
c = input()
dic = {10: 'a', 11: 'b', 12: 'c', 13: 'd', 14: 'e', 15: 'f', 16: 'g', 17: 'h', 18: 'i', 19: 'j', 20: 'k', 21: 'l',22: 'm', 23: 'n', 24: 'o', 25: 'p', 26: 'q', 27: 'r', 28: 's', 29: 't', 30: 'u', 31: 'v', 32: 'w', 33: 'x', 34: 'y', 35: 'z'}n = int(str(c), a)
yus = []while n >= b:yu = n % byus.append(dic.get(yu)) if yu >= 10 else yus.append(yu)n = n // b
yus.append(dic.get(n)) if n >= 10 else yus.append(n)yus = yus[::-1]
print(''.join(str(i) for i in yus))
python进制转化器(任意进制)相关推荐
- python实现十进制转化为任意进制。
python实现十进制转化为任意进制(十六进制以内). 先看运行结果示例: 可以看出,只要是十六进制以内,无论是346789等不存在的进制,也能够进行转换. 上代码: import re list = ...
- 将一个10进制数转化为任意进制数 猜拳小游戏
1.如何将一个10进制数,转化为2~16进制之间的数.且当数字>=10时,输出相对应的字母A~F 2.制作一个猜拳的小游戏 一.10进制转化为任意进制 1.首先知道进制的转化规则------可参 ...
- Python GUI代码转为可执行文件(.exe)实例——进制转化器
Python GUI代码转为可执行文件(.exe)实例--进制转化器 Python进制转换函数 转十进制 转二进制 转八进制 转十六进制 tkinter库 进制转换器源代码 生成可执行文件 Pytho ...
- 对于十进制转化为任意进制数的简单算法分析
对于十进制转化为任意进制数的简单算法分析 基本思路: 对于十进制转任意进制,通常都是通过取余逆序排列法获得结果,举个简单例子10进制数1024 转2进制: 1024/2=512 余->0 512 ...
- python编写程序转换进制_Python实现任意进制之间的转换
在日常生活中我们频繁使用到数学的进制,如季度逢三进一,星期逢七进一:生肖.小时使用12进制,每天使用24进制,每月使用30进制,分秒使用60进制,一年使用360进制等等:在编程过程中我们经常需要转换进 ...
- 十进制装换为二进制至九进制之间的任意进制输出
内容:把十进制转换为二进制至九进制之间的任意进制输出 算法原理:N=(N/d)*d+N%d,先得到的余数为低位后输出,后得到的余数为高位先输出,所以正好可以利用栈的特性,将求得的余数放入到栈中,然后再 ...
- verilog设置24进制计数器_任意进制计数器 || 反馈复位法 反馈置数法 || 超级重点 || 数电...
任意进制计数器 || 反馈复位法 反馈置数法 || 超级重点 || 数电 前面介绍了4位二进制计数器和十进制计数器,但它们的计数长度.计数方式是固定的. 例如: 十进制计数器74160,其计数的模为1 ...
- 十进制数转化为任意进制数n,采用变量N、数组A[]进行存储两种算法实例
进制转化的核心代码为:(a 为输入的十进制数,n为需要转换的进制数,temp为变量进行存值) //先假设将a全部囤在个位数上,依次将a处理进行升位处理 temp = a %n; //利用求余公式,求出 ...
- 用递归实现简单的进制转化器(模块化设计):学习递归题型之一
引言: 在阅读C Primer Plus时,我发现一个非常有意思的将十进制转化二进制的方法,我通过逻辑推理,将十进制转化为八进制以及十六进制的方法类比了出来:在此处呢,我将用递归实现对十进制转化为三种 ...
最新文章
- IISApp -a查找对应的AppPool
- (六)OpenStack---M版---双节点搭建---Neutron安装和配置
- 节流函数(throttle)的原理
- 数据库中查询记录时是否每次只能使用一个索引?
- 利用HTML5 canvas合并图片并解决Filaed to execute 'toDataURL' on 'HTMLCanvasElement'异常
- Java工作笔记-Spring Boot + Jdbc + dm7Driver访问数据库(Spring Boot连接达梦数据库)
- 2 SD配置-企业结构-定义-定义分销渠道
- 新年春节海报素材精品,再也不怕老板催稿!
- vue中Npm run build 根据环境传递参数方法来打包不同域名
- 曝荣耀仍未获得谷歌Android授权;诋毁鸿蒙的OPPO员工离职;微信圈子将停止运营|极客头条...
- 一周年工作总结--wfdb库使用
- 华硕飞行堡垒触摸板快捷键失效
- 交换机入门书籍推荐_网络工程学习方法/路线/专业书籍推荐
- Unity-Xlua
- 【蓝桥杯练习-PWM脉宽调制】
- Excel 画函数曲线
- python bunch制作可导入数据_Python 之 Bunch Pattern
- 【jzoj5335】早苗
- mysql复制数据到同一张表
- [UnexpectedValueException] Your github oauth token for github.com contains invalid characters