【发布时间】:2020-04-09 11:31:57
【问题描述】:
我正在尝试用 Python 编写一个递归程序来打印一个系列。以下是我的代码:
def pattern(n,k):
if n > 0:
print(n, end = ',')
print(pattern(n-k,k), end=',')
print(n,end = ',')
else:
print(n,end = ',')
pattern(12,5)
输出的格式应该是:12,7,2,-3,2,7,12,即从 n 开始,然后连续减 5 直到达到 0 或负数,然后和 5 直到达到 12
但作为输出,我得到以下信息:
12,7,2,-3,None,2,None,7,None,12,
为什么我得到的是无?如何按照上述条件将其删除并打印?
【问题讨论】:
-
你的函数总是返回
None,这意味着print(pattern(n-k,k), end=',')会打印None到你的控制台。 -
pythontutor.com/… 查看可视化以了解其打印的原因
None
标签: python recursion design-patterns