【问题标题】:Problem converting decimal to binary in python在python中将十进制转换为二进制的问题
【发布时间】:2020-06-04 06:00:11
【问题描述】:

以下代码是将十进制转换为二进制。

我的问题是:当 num 小于或等于 1 时,python 会跳到最后一行即 print(num % 2, end = '') 并因此打印出 1。但是在那之后,为什么它会移动到行'decimalToBinary(num // 2)'?该行应该仅在 num > 1

时执行
def decimalToBinary(num):
    if num > 1:
        decimalToBinary(num // 2)
    print(num % 2, end='')

decimalToBinary(17)

【问题讨论】:

    标签: python-3.x function binary decimal


    【解决方案1】:

    因为栈中最后一个函数执行完毕,所以跳转到上层函数的调用点。如果你在print(num%2,end='')语句后面加上a=1,你会看到a=1被调用了在控件返回上层函数之前。

    【讨论】:

      【解决方案2】:
      import numpy as np 
      import pandas as pd
      
      # Read the input
      s = int(input())
      
      # Write your code below
      
      print(format(s, 'b'))
      

      【讨论】:

        猜你喜欢
        • 2016-08-13
        • 2020-08-06
        • 2014-11-07
        • 1970-01-01
        • 1970-01-01
        • 2012-06-26
        • 2021-10-09
        • 2014-02-13
        • 2017-02-04
        相关资源
        最近更新 更多