700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 小白自学python的编程之路——实现进制数转换(十进制和二进制和八进制的转换)

小白自学python的编程之路——实现进制数转换(十进制和二进制和八进制的转换)

时间:2020-03-27 11:06:47

相关推荐

小白自学python的编程之路——实现进制数转换(十进制和二进制和八进制的转换)

小白自学python的编程之路——实现进制数转换

十进制转二进制(整数)

直接上代码,很简单,一些小注意地方我标注了

c=[]a=input("请输入十进制数字:")a=int(a)while True:div=a//2mod=a%2c.append(mod) a=divif a!=0:continueelse:breakprint(c) # 这里注意二进制是逆序 ,得对列表重新排序 c.reverse() # 这是对列表倒过来排序 print(c) D=list(map(str,c)) # ! 这里注意,把列表中的全部数字转换成字符串返回 print(D) print(''.join(D))#将所有字符拼成一个字符串输出二进制码

也可以用divmod函数实现,附上代码

c=[]a=input("请输入十进制数字:")a=int(a) # 注意这里老忘记,默认输入的是字符串形式,参加运算要换成整型while True: # 也要注意a=int(a) 而不是int(a) f= divmod(a,2)#divmod返回一个包含商和余数的元组 a=f[0] c.append(f[1])if a!=0:continueelse:breakprint(c)c.reverse() # 注意倒序排列 print(''.join(list(map(str,c))))

Note:十进制转8进制,16进制同理,只需要把每次除2改成除8/16就可

**

二进制转十进制

(附代码)

a=input("请输入二进制数:")a=list(map(int,a)) print(a) # map函数真的好用啊, 处理input输入太有用了 ! d=len(a) # 得到输入数字长度 ff=0 for i in a:d=d-1ff=ff+i*(2**d)print(ff)

**

二进制转八进制

思路:(先把二进制转换成十进制,再把十进制转换成二进制)

a=input("请输入二进制数:")a=list(map(int,a)) print(a) # 得到二进制整型数字列表(方便索引) d=len(a) # 得到输入数字长度 ff=0 for i in a:d=d-1ff=ff+i*(2**d)print(ff)c=[] # 十进制转8进制while True: f= divmod(ff,8)ff=f[0] c.append(f[1])if ff!=0:continueelse:breakc.reverse() # 注意倒序排列 print(''.join(list(map(str,c))))

(看了以上代码理解的话对于进制转换就没什么问题了,大家可以自己试着编写下二进制转16进制,可以和博主交流哦,下次我会附上自己的代码)

好啦,刚开始上手用python编代码,很多地方都不顺心,得自己查很多东西,大佬们有说过写博客是个提升自己的好办法,楼主第一次写博客,希望给大家点帮助,希望和大家一起进步!!!

以后会发些我的学习过程! 感谢大家指正错误

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。