【发布时间】:2023-01-11 07:52:18
【问题描述】:
i = 1
input_number = int(input("Input a digit you wish to count: "))
def count(n):
global i
n = int(n/10)
if n > 0:
i = i+1
count(n)
else:
j = i
print(f"j={j}")
return j
j = count(input_number)
print(f"i={i}")
print(j)
我正在尝试使用递归方式打印数字的数字。我使用了全局计数器来计数,结果可以打印全局计数器。但是,我的问题是 - 为什么我不能使函数返回计数器并直接打印函数结果?它以某种方式返回 None 。
【问题讨论】:
-
它不会以某种方式返回
None。当您不返回任何元素时,它会返回None。您不会在if语句的真实分支中返回任何内容。将count(n)更改为return count(n)
标签: python