Python根据用户输入的2进制字符串转8进制

问题:

从键盘输入一个由 1 和 0 组成的二进制字符串 s,转换为八进制数输出显示在屏幕上。例如输入‘1100’,输出‘14’

实现1:

# 请输入一个由1和0组成的二进制数字串
#基本思路:2进制先转10进制,再由10进制转8进制。
#‘1100’ = 2^3+2^2
#只有1是有效位,2^i由i所在位置决定
#把字符串逆序,以配合range的范围,不影响结果。
#10进制转8进制,用format
s = input('请输入一个由1和0组成的二进制数字串:')
s1 = s[::-1]
sum = 0
for i in range(len(s)):if eval(s1[i]) == 1:sum += 2**i
print('{:o}'.format(sum))

实现2:

#这个实现想法比较奇葩,通过左移字符串,字符串逐个取出并处理。
s = input() # 请输入一个由1和0组成的二进制数字串
d = 0
while s:d = d*2 + (ord(s[0]) -ord('0'))s = s[1:]
print("转换成八进制数是:{:o}".format(d))#1100= 1*2^3+1*2^2+0*2^1+02^0 ---数学思维
#1100= (((1*2+1)*2+1)+0)*2+0 ---计算思维
#把每次计算归结为上次结果*2+本次结果

Python根据用户输入的2进制字符串转8进制相关推荐

  1. python等待用户输入_Python等待时间,等待用户输入

    python等待用户输入 Sometimes we want our python program to wait for a specific time before executing the n ...

  2. Python之用户输入

    大多数程序都旨在解决最终用户的问题,为此,需要从用户那里获取一些信息.函数input()让程序暂停运行,等待用户输入一些文本. 例如: name = input("Please intput ...

  3. Python中用户输入与while循环

    文章目录 前言 一.用户输入 1.输入字符串 2.使用函数int()获取数值输入 3.求模运算符的应用 二.while循环 1.简单的while循环 2.通过用户输入退出while循环 3.使用标志 ...

  4. 重温Python基础——用户输入和while循环

    人生苦短,我用Python 序言 函数input()的工作原理 使用int()来获取数值输入 while循环简介 使用break退出循环 在循环中使用continue 避免无限循环 删除为特定值的所有 ...

  5. 16进制字符串转10进制数值

    16进制字符串转10进制数值 描述 写出一个程序,接受一个十六进制的数,输出该数值的十进制表示. 数据范围:保证结果在 1≤n≤2^31−1 输入描述:输入一个十六进制的数值字符串. 输出描述:输出该 ...

  6. 将时间转换为16进制字符串或16进制小端模式byte数据

    1.将String类型的时间转换 1>String类型时间转换为Date类型的时间 2>时间转换为时间戳 3>时间戳转换为16进制字符串 4>16进制字符串转换为16进制小端模 ...

  7. C++ 16进制字符串转16进制数组函数

    @TOCC++ 16进制字符串转16进制数组函数 unsigned char buf[], int len) { if (str != NULL && buf != NULL & ...

  8. java-16进制字符串转16进制int、将10进制的数字转为16进制

    String h="76F41000"; int re= new BigInteger(h, 16).intValue() 将10进制的数字转为16进制字符串 System.out ...

  9. 使用栈将用户输入的十进制数转换为其指定的进制(2进制、8进制、16进制)数据

    进制转换的核心模块 当e>9时,e+55输出A~F字符 void conversion( SeqStack* s, int n ,int m) {int e;while (n){Push_Seq ...

最新文章

  1. 通过BCS对象模型使用筛选器
  2. OpenWRT 随记
  3. Oracle 11g 之自动收集统计信息
  4. 攻城掠地端mysql_【图片】攻城掠地单机版本服务端+攻城掠地GM工具【单兆权吧】_百度贴吧...
  5. HYSBZ - 2243染色——树链剖分+线段树建树技巧
  6. 正则表达式--C#正则表达式的符号及例子
  7. 基于MATLAB的发票识别系统
  8. 个人练习 —— 使用c#、Winform窗体 编写鼠标连点器(附代码和工具逻辑)
  9. java更新word目录_java aspose.words 生成word目录和更新目录
  10. 转行it学python_转行IT行业为什么要学习Python开发
  11. 用ybc_box做小程序
  12. uniapp打包app教程
  13. 求会java的大佬救一下场,领导让研究一个应用信息导出工具的代码实现原理,我之前没系统学过java,来个会的大佬帮忙解释下哈,跪谢...这个如果只是单纯实现抓取包名,应用名称的话代码可以怎么精简呀?
  14. python appium连接安卓真机测试
  15. Android如何隐藏底部虚拟按键
  16. EVOLAB | 再度解析共识机制:POW
  17. 阿里云部署vmware报错
  18. python3爬虫豆瓣_Python爬虫(3)豆瓣登录
  19. 计算机公务员考试 真题及答案,公务员考试c类计算机考试真题及答案2.pdf
  20. OpenWrt安装ser2net.ipk软件包

热门文章

  1. macOS Homebrew 安装 OpenCV 及切换版本【转】
  2. 配置静态路由(Cisco Packet Tracer)
  3. 软高工:为什么我会在工作五年后选择去读研
  4. 2021(第五届)高工智能汽车金球奖名单揭晓
  5. Collectors常用方法
  6. 递归理解以及时间复杂度计算
  7. Java NIO 系列教程 (十一) Datagram 通道
  8. 对项目经理的批评意见_如何处理对您的开放项目的批评
  9. 计算机考研指什么时候,考研专业课什么时候开始复习
  10. 二、码云Gitee和git进行代码管理