Python中文
首页
教程
问答
标签
搜索
登录
注册
Python递归行为
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我研究过递归,特别是Python,我想我懂了。 我学会了这个形式:</p> <pre><code>def f_Listsum(numList): if len(numList) == 1: return numList[0] ## Triggers the unwinding of the recursion stack else: return numList[0] + f_Listsum(numList[1:]) ## Winds up the recursion stack with a shorter and shorter slice of org. list. </code></pre> <p>我明白了。递归调用类似于“结束”事情,然后一个停止或“触发器”会导致递归崩溃并使用结果值。你知道吗</p> <p>但是今天我遇到了这样的情况:</p> <pre><code>def f_DecToBinary(v_Num): if v_Num > 1: f_DecToBinary(v_Num // 2) print(v_Num % 2,end = '') </code></pre> <p>我想用一个字符串的返回,甚至一个int的列表来替换函数的“print”,但是我不能让它工作,因为我不明白这个递归是如何工作的。我看到它每次都调用自己,然后当v_Num==1或更小时启动一个折叠,但是它折叠到“if”语句之外,然后我就迷路了。当我试图从折叠中组装STR或LIST而不是仅仅打印它时,我会出错或返回最后一个数字。你知道吗</p> <p>我的问题是:fèu DecToBinary如何工作/工作,以及如何将输出捕获到字符串中?你知道吗</p> <p>一些例子:</p> <pre><code>print(f_Listsum([1,3,5,7,9])) ## 25 print() f_DecToBinary(15) ## 1111 </code></pre> <p>谢谢</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<pre><code>def DecToBinary(n): if n >= 2: return DecToBinary(n // 2) + str(n % 2) else: return str(n) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
2 回答
如何添加表示整数的擦边字符串?
6 回答
如何添加要在Bokeh中使用的新font.ttf文件?
4 回答
如何添加要显示的矩阵XY轴编号和XY轴
6 回答
如何添加计数?
8 回答
如何添加计数器函数?
5 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
10 回答
如何添加计数器来跟踪while循环中的月份和年份?
2 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
3 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
6 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
6 回答
如何添加评论拉梅尔亚姆
8 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
5 回答
如何添加谷歌地点自动完成到Flask?
5 回答
如何添加超时、python discord bot
5 回答
如何添加超过1dp的检查
3 回答
如何添加距离方法
6 回答
如何添加跟随游戏的敌人精灵
8 回答
如何添加路径以便python可以找到程序?
2 回答
如何添加身份验证/安全性以使用happybase访问HBase?
10 回答