【发布时间】:2021-06-12 08:18:41
【问题描述】:
我是新手,这是我在 StackOverflow 上的第一个愚蠢问题。有人能告诉我为什么在条件为假时执行第 7 行(input = 1)吗? This is the screenshot
非常感谢,祝你一切顺利!
print("line 1 - START OF CODE - right before function 'def decimalToBinary(num)' \n", "line 2-9 - define function 'decimalToBinary(num)'")
def decimalToBinary(num):
print("\n Line 2 - execute the function 'decimalToBinay(num)'' \n Line 3 - right before if statement - at this line num value is:", num, ", var number is:",number,"\n")
if num > 1:
print("Line 4-5 - 'if statement' is true (num > 1), num value is", num, "> 1", "\n Line 6 - recall function 'decimalToBinary(num // 2)' \n")
decimalToBinary(num // 2)
print("Line 7 - 'if statement' end - This is num after line 6 'decimalToBinary(num // 2)'. Num is",num)
print("Line 8 - This is num before the line 'print(num % 2)':", num)
print("Line 9 - This is result of num % 2:", num % 2, "\n")
number = int(input("line 10 - Ask user 'Enter any decimal number:' then assign this value to var 'number' \n line 11 - call function 'decimalToBinary(number)': "))
decimalToBinary(number) #function call
print("line 12 - END OF CODE")
【问题讨论】:
-
因为没有
return。 -
我有点困惑,条件是 num 大于 1,如果输入 >=2 则代码块应该运行?
-
你能解释一下你期望的输出吗?
-
@Sven Eberth:感谢您的帮助。但我有点困惑,因为第 7 行属于“if 语句”(第 4 行),所以我认为第 7 行不应该在条件错误时执行,
-
@Sven Eberth:我希望在
input = 1时永远不应该执行第 7 行
标签: python if-statement recursion