蓝桥杯试题基础练习之进制转换 |
您所在的位置:网站首页 › excel表中16进制转10进制 › 蓝桥杯试题基础练习之进制转换 |
Python常用进制转换
问题描述解决方法进制转换函数具体方案先将非十进制转成十进制再将十进制转换成其他进制数据处理切片format
问题描述
进制转换的问题有很多描述,以下是蓝桥杯里三道题的描述: 给定n个十六进制正整数,输出它们对应的八进制数。 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。 给出一个非负整数,将它表示成十六进制的形式。 每道题的输入格式可能不太一样,但是解决思路都是通用的。 我们也可以拓展一下题目,实现常用的进制转换。 解决方法Python有内置的进制转换函数,这在进制转换上是很方便的。但是在进制转换后,有些转换结果都带有前缀,我们需要对结果做一些处理,处理方法有两种: 一种是通过切片的方法另一种方法是使用format方法 进制转换函数我们可以使用python内置的进制转换函数实现进制转换。 但是,除了int()方法,其他进制转换函数都有一个前提,那就是输入10进制数。 int() :转换成十进制bin() :转换成二进制oct() :转换成八进制hex():转换成十六进制 具体方案 先将非十进制转成十进制因为进制转换函数的前提是输入十进制数,所以我们首先要做的就是先把输入转换成十进制数。 转换成十进制需要的就是int()方法,在转换前,我们需要确定int()方法的两个参数: int(input(), value):input()指输入,value指输入的数制举个例子: n = int(input(), 2) # 输入二进制,输出十进制 n = int(input(), 8) # 输入八进制,输出十进制 n = int(input(), 16) # 输入十六进制,输出十进制 再将十进制转换成其他进制转换成其他进制的方法用到的是下面三个方法: num = bin(n) # 转换成二进制 num = oct(n) # 转换成八进制 num = hex(n) # 转换成十六进制但是转换以后,都带有前缀,如: 0b、0o、0x 这时我们只需要做一下数据处理即可 数据处理这里有两种解决方案,一种是用切片,另一种是用format方法 切片 print(oct(n)[2:])如果从1开始计数的话,其实就是从第3位开始取到最后 format在format的槽中添加一个"b",等价于实现了bin函数的功能 对八进制的转换使用 “o”, 等价于实现了oct函数的功能 转成十六进制用 “x”, 等价于实现了hex函数的功能 print("{:o}".format(n)) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |