在 Python 3 中将十进制数转换为二进制数

2023-12-07

当我尝试将十进制转换为二进制时,代码执行时没有错误,但结果为“无”。 有时它只是不显示任何东西。 我觉得有一些逻辑错误,任何人都可以帮助我纠正错误吗?

Code :

def bin_no():
    global rem
    
    n = int(input("Enter Number : ")) #Taking a Decimal Num
    
    while n >=1 :   #Initiating a Loop to Convert Decimal To Binary using the (Divide By 2 Method).
        rem = []
        n = n//2
        rem.append(n%2)
        
    if n !>=1:  #Going back to the loop if input is invalid.
        print("Please enter a Valid Number")
        bin_no()

    print("Binary Number : ", rem.reverse()) #Printing the result (the binary no. was stored in reverse order.)
bin_no()

以下是您的代码的一些问题:

  1. rem = []位于 while 循环内,因此在每个循环迭代中rem会变成[]最后它只会存储最后一位。

  2. 的顺序// and %操作错误,//首先会截断数据%总会产生0。您需要颠倒这些操作的顺序。

  3. reverse is a list就地反转并返回的方法None。这就是为什么你的代码总是打印None。所以,你需要使用rem.reverse()在最后一个之前print线条和打印rem通常情况下。

进行这些更改后,您的代码将如下所示:

def bin_no():
    global rem
    
    n = int(input("Enter Number : ")) #Taking a Decimal Num
    
    rem = []
    while n >=1 :   #Initiating a Loop to Convert Decimal To Binary using the (Divide By 2 Method).
        rem.append(n%2)
        n = n//2
        
    if n >=1:  #Going back to the loop if input is invalid.
        print("Please enter a Valid Number")
        bin_no()
    rem.reverse()
    print("Binary Number : ", rem) #Printing the result (the binary no. was stored in reverse order.)

bin_no()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Python 3 中将十进制数转换为二进制数 的相关文章

随机推荐

  • fgets 并处理 CTRL+D 输入

    I am grabbing some standard input from the user and if the user presses CTRL D I want to display an error and terminate
  • MySQL在插入更新列之前触发新的自动增量ID

    我想用国家 地区代码和新的代码更新表中的列id这是一个自动递增值 BEGIN SET new key concat new countryCode new id END countryCode工作正常 但是id始终为空白 我怎样才能实现这样
  • if-let Any 到 RawRepresentable

    让我们假设一下 enum MyEnum String case value let possibleEnum Any MyEnum value if let str stringFromPossibleEnum possibleEnum p
  • 使用 boto3 和 python 将 AWS EC2 详细信息导出到 xlsx/csv

    我是 python 和 boto3 的新手 我需要使用 python 获取以下详细信息 我使用 bash 来获取这些详细信息 bin bash aws ec2 describe instances query Reservations In
  • 为什么从移动设备触发时我的触发状态为“已暂停”

    我使用 Google 表格中的数据验证实现了按钮单击解决方法功能 并且每当从移动设备执行触发器时 它都处于 暂停 状态 当执行此触发器时 我将显示对话框 当从浏览器执行时 该对话框工作得非常好 代码片段 function onSheetEd
  • Python3 PIL Pillow Ubuntu 安装

    我正在运行 Ubuntu 14 04 LTS 我安装了 Python 2 7 和 Python 3 4 在 Linux 中安装 Python 包方面我还算新手 我只是想安装并访问PIL sPython 3 4 中的图像库 据我了解 这是通过
  • DocumentDB 性能问题

    当在我的本地计算机上通过 C 代码运行 DocumentDB 查询时 一个简单的 DocumentDB 查询平均需要大约 0 5 秒 另一个例子 获取对文档集合的引用平均大约需要 0 7 秒 这是可以预料的吗 下面是我用于检查集合是否存在的
  • 如何使用 C++ 11 创建计时器事件?

    如何使用 C 11 创建计时器事件 我需要这样的东西 从现在起 1 秒后给我打电话 有图书馆吗 做了一个简单的实现 我相信这是你想要实现的目标 您可以使用该类later具有以下参数 int 等待运行代码的毫秒数 bool 如果为 true
  • Zend Framework 2 - 翻译路线

    我想知道是否可以在 zf2 中使用路由 uri 的翻译工具 我想要例如路线en domain tld article show 1例如翻译为de domain tld artikel anzeigen 1 我不认为正则表达式是这里的方法 因
  • Gradle tomcat 插件和属性文件

    我想使用 gradle tomcat 插件来与 gradle 进行集成测试 当前项目依赖于正在运行的 tomcat 的 catalina base 目录下的一些 properties 文件 无法更改 因为另一个依赖项目也依赖于它们 有人知道
  • 如果一个元素满足 dplyr 中的条件,则过滤所有组

    我有以下数据 df1 lt data frame id c 1 1 2 a c a b c gt df1 id a 1 1 a 2 1 b 3 2 c 如果组中至少一个元素满足给定条件 我想过滤 删除 在变量上定义的组的所有元素 此处 如果
  • 在Airflow中创建动态池

    我有一个 DAG 它创建一个集群 启动计算任务 并在完成后拆除该集群 我想将该集群上执行的计算任务的并发限制为固定数量 因此从逻辑上讲 我需要一个由任务创建的集群专用的池 我不希望干扰其他 DAG 或同一 DAG 的不同运行 我认为我可以通
  • 为 Angular 2 中的 mat-table 中实现的 mat-select 分配所需的值

    我在 Angular 2 中创建了一个简单的垫子表 有两列acc id and acc desc 我正在从我的帐户详细信息 json使用以下命令将文件放置在资产文件夹中accountdetails service ts 我已经在下拉菜单中选
  • 链接器脚本 .relocate 部分的第一个符号 _srelocate 不正确(GCC Bug?)

    Problem 我的问题是 当我使用以下脚本将代码放入 RAM 时 重定位部分会填充虚假数据 我的问题是 为什么是 srelocate符号比 4 个字节大 etext象征 它们不应该是一样的吗 另外 如果 1 的答案是否定的 我不应该复制
  • 改造2:无虚方法 newJsonReader(Ljava/io/Reader;) NoSuchMethodException

    我正在整个互联网上寻找这个错误 但是 只有一个 stackoverflow 条目没有答案或评论 我正在尝试使用Retrofit 2 这是我第一次使用它 这是我的依赖项 compile com squareup retrofit2 retro
  • 升级 Android Studio 后 Android Studio 构建错误

    升级到Android Studio后1 3 1昨天 在构建项目时出现此错误 我无法创建新项目 添加错误和 build gradle 文件如下 已经尝试改变compileSdkVersion and buildToolVersion to 2
  • 获取有关已安装网络适配器的信息

    我在 Windows XP sp3 上使用 Delphi XE2 Update 4 我希望从已安装的网络适配器中获取尽可能多的信息 特别是广播 IP 为此 我使用了 Jan Schulz 提供的代码从这篇文章 Unit Unit USock
  • GROUP_CONCAT 更改 GROUP BY 顺序

    我有一个视图 很多连接 输出按日期 ASC 排序的数据 按预期工作 输出类似于 ID date tag1 other data 1 25 03 2011 blue fff lt 1 26 03 2011 red ggg 1 27 03 20
  • android webview pdf查看

    我正在构建一个应用程序 该应用程序应该允许用户单击 Web 视图中指向 pdf 文档的链接并将其显示在视图中 我使用谷歌文档查看pdf文件有效 但我的问题是我只希望该方法适用于pdf链接而不是每个链接 这是我的代码 public class
  • 在 Python 3 中将十进制数转换为二进制数

    当我尝试将十进制转换为二进制时 代码执行时没有错误 但结果为 无 有时它只是不显示任何东西 我觉得有一些逻辑错误 任何人都可以帮助我纠正错误吗 Code def bin no global rem n int input Enter Num