在 python 中将十进制转换为二进制时出现问题
Problem converting decimal to binary in python
下面的代码是将十进制转为二进制。
我的问题是:当 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)
import numpy as np
import pandas as pd
# Read the input
s = int(input())
# Write your code below
print(format(s, 'b'))
因为栈中最后一个函数执行完了,所以跳转到上层函数的调用点stack.If你在print(num%2,end='')
语句后面加上a=1
,你将看到 a=1
在控件 returns 到上层函数之前被调用。
下面的代码是将十进制转为二进制。
我的问题是:当 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)
import numpy as np
import pandas as pd
# Read the input
s = int(input())
# Write your code below
print(format(s, 'b'))
因为栈中最后一个函数执行完了,所以跳转到上层函数的调用点stack.If你在print(num%2,end='')
语句后面加上a=1
,你将看到 a=1
在控件 returns 到上层函数之前被调用。