python - 使用递归打印图案
问题描述
任何人都可以帮助我为什么我的内核在我运行这段代码时死了
下面是问题:
给定一个正整数
n
和另一个正整数k < n
。
输入:n = 16 k=5
使得输出:16, 11, 6, 1, -4, 1, 6, 11, 16
代码:
def myfunc(no,nr,k,lis=[]):
lis.append(nr)
if nr>=0:
return myfunc(no,nr-k,k,lis)
else:
if no==nr:
return lis
else:
return myfunc(no,nr+k,k,lis)
myfunc(16,16,5)
解决方案
我想到了
def myfunc(nr,k,lis=[],flag=True):
lis.append(nr)
if flag:
if nr>0:
return myfunc(nr-k,k,lis)
else:
flag=False
if not flag:
if nr==lis[0]:
return lis
else:
return myfunc(nr+k,k,lis,False)
推荐阅读
- python-3.x - 在 Pytorch 内置的自定义 Batchnorm 中更新 running_mean 和 running_var 有问题吗?
- c#-4.0 - 这个 Entity Framework Core 异常是什么意思?
- r - 如何扩展您的绘图,以便可以看到所有标签而不会在 R 中重叠
- python - 链接:致命错误 LNK1104:无法使用 CMake 查找库打开文件“python38.lib”
- excel - Excel 中的“ActiveX 组件无法创建对象”错误
- angular - 当状态由ngrx-forms管理时,如何以角度动态地将formgroup控件添加到formarray?
- python - Selenium 似乎无法在页面上找到文本
- javascript - 如何使用 jQuery 使元素的内容与另一个元素的内容相同?
- node.js - 护照 req.user 未定义
- python - pytesseract 用于低分辨率 img