首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >考点:进制转化函数和数学通用方法【Python习题12】

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

作者头像
刘金玉编程
发布2021-12-27 08:49:30
1.1K0
发布2021-12-27 08:49:30
举报
文章被收录于专栏:编程创造城市编程创造城市

考点:进制转化函数和数学通用方法【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就是十进制结果。

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

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

# -*- coding: utf-8 -*-
"""
@File文件    :   ljytest85
@Time创建时间    :    2021/12/21
@Author作者  :   刘金玉
@Contact联系方式 :   selidev@qq.com   编程创造城市 http://bcczcs.com
注:作者信息请保留!否则必究法律责任!
刘金玉编程,编程创造城市!
作者微信号:selidev
作者抖音号:selidev
作者B站:刘金玉编程
微信公众号:编程创造城市
题目:输入一个八进制数,输出一个转换为十进制的数
"""

#输入八进制数
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笔记01
  2. 考点:列表、输入、元素比较、位置交换【Python习题01】
  3. 考点:自定义函数、引用传值、二位列表的输入输出【Python习题02】
  4. 考点:程序逻辑和调试,类似环形链表结构【Python习题03】
  5. 考点:函数参数传参、求和、奇数、偶数、输入输出、range步长灵活使用【Python习题04】
  6. 考点:最值应用,基本排序法,复杂排序法,sorted函数的灵活运用【Python习题05】
  7. 考点:深度拷贝、zip函数的压缩与解压包【Python习题06】
  8. 考点:猴子分桃问题,程序员可以将数学逻辑思维转换为编程思维【Python习题07】
  9. 考点:星号的巧妙使用方式,包含计算、传参【Python习题08】
  10. 考点:海龟画图turtle库的使用,绘制五角星、矩形等【Python习题09】
  11. 考点:角度旋转、海龟坐标轴以及简单时间绘图算法以及海龟的定时器ontimer【Python习题10】
  12. 考点:枚举法解数学题,按照条件来限定枚举结果【Python习题11】
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程创造城市 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档