考点:进制转化函数和数学通用方法【Python习题12】

简介: 考点:进制转化函数和数学通用方法【Python习题12】


考点分析:

   本考点主要考查计算机中的常用数值转化和数学通用算法。

介绍:

   本文将介绍几个python中用于进制转换的函数,讲解数学中的数值转化通用算法案例。

先看题目:

题目:输入一个八进制数,输出一个转换为十进制的数

效果预览:

请输入一个八进制的数:122

82

考题解析:

  1. 常用进制写法

   二进制常用B表示,在python中,我们可以用0b1012,这个数值如果输出时,自动转为十进制。我们可以用简单代码测试:

a=0b1011
print(a)

以上代码输出11,这个11是一个十进制数据。

   八进制常用O表示,十进制常用D表示,十六进制常用H表示。

   通过二进制的示例,我们可以看到一个八进制、十六进制表示后输出为对应十进制数据测试如下:

   八进制测试:

b=0o11
print(b)

输出9

   十六进制测试:

c=0xc
print(c)

输出12

   十进制数据就是程序默认的数据形式,默认输入的变量数据就是十进制。测试如下:

d=101
print(d)

输出101

  2.用函数进行进制转化

二进制、八进制、十六进制 转 十进制,使用int函数解决一切,int函数有两个参数,第一个参数是字符串,第二个参数表示进制,以下是二进制转十进制的测试如下:

a="101"
b=int(a,2)
print(b)

输出5

八进制转十进制测试:

a="11"
b=int(a,8)
print(b)

输出9

十六进制转十进制测试:

a="10"
b=int(a,16)
print(b)

输出16

十进制转二进制使用bin函数即可,测试如下:

a=10
b=bin(a)
print(b)

输出

0b1010

十进制转八进制使用oct函数即可,测试如下:

a=10
b=oct(a)
print(b)

输出

0o12

十进制转为十六进制使用hex函数,测试如下:

a=14
b=hex(a)
print(b)

输出0xe

其它进制转化情况,都可以通过以上几个函数的联合使用,使得二进制、八进制、十进制、十六进制之间实现互相转化。

   3.我们也可以使用通用的数学方法进行转化。

   按照本题目中要求,输入一个字符串,这个字符串就是一个八进制的数字,这个数字我们将其从左到右进行截取,并且依次乘以进制数后加上下一个数值即可得到相应进制结果。例如,我们将八进制12转为十进制,过程应该是:

1)先取1,使用0*8+1=1

2)再取2,使用1)的结果1*8+2=10  

得到的10就是十进制结果。

以上数学方法是一种通用的其它进制转为十进制的方式。

数学通用做法,程序源代码:

#输入八进制数
shu=input("请输入一个八进制的数:")
#使用简单算法计算,这里将输入的字符串从左到右分割,乘以进制数后加上剩下的数就是结果
result=0#表示
for i in range(len(shu)):
    result=result*8+ord(shu[i])-ord('0')  #ord函数是将字符转为ascii码,这里巧妙使用数学中计算通项式得到实际数值
print(result)

总结:

我们平时在python中常用几个特定的函数去解进制转化问题,这样比较快速,比如用bin函数、hex函数、oct函数、int函数,使用这些函数,我们就可以快速搞定了。但是我们也千万不能忘记使用数学通项式的方式去解决进制转化问题,因为在数学中转换是比较通用的,考查一个人的基本算法使用。

相关文章
|
1天前
|
人工智能 Python
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
【Python实用技能】建议收藏:自动化实现网页内容转PDF并保存的方法探索(含代码,亲测可用)
7 0
|
1天前
|
数据挖掘 数据处理 索引
python常用pandas函数nlargest / nsmallest及其手动实现
python常用pandas函数nlargest / nsmallest及其手动实现
9 0
|
5天前
|
存储 关系型数据库 MySQL
Python搭建代理IP池实现存储IP的方法
Python搭建代理IP池实现存储IP的方法
|
5天前
|
Python
Python动态IP代理防止被封的方法
Python动态IP代理防止被封的方法
|
6天前
|
Serverless 开发者 Python
《Python 简易速速上手小册》第3章:Python 的函数和模块(2024 最新版)
《Python 简易速速上手小册》第3章:Python 的函数和模块(2024 最新版)
38 1
|
6天前
|
数据采集 存储 安全
python检测代理ip是否可用的方法
python检测代理ip是否可用的方法
|
6天前
|
索引 Python
Python高维变量选择:SCAD平滑剪切绝对偏差惩罚、Lasso惩罚函数比较
Python高维变量选择:SCAD平滑剪切绝对偏差惩罚、Lasso惩罚函数比较
|
7天前
|
数据可视化 测试技术 Python
在Python和R中使用交叉验证方法提高模型性能
在Python和R中使用交叉验证方法提高模型性能
19 0
|
7天前
|
存储 监控 开发工具
对象存储OSS产品常见问题之python sdk中的append_object方法支持追加上传xls文件如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
38 9
|
8天前
|
Python
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
python面型对象编程进阶(继承、多态、私有化、异常捕获、类属性和类方法)(上)
48 0