社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  sammy  »  全部回复
回复总数  3
5 年前
回复了 sammy 创建的主题 » for循环内递归-Python

正如已经指出的,具体的问题是您在for循环中返回,该循环将完全结束函数。

基本上,你正在做的是混合递归和迭代实现。迭代实现使用for循环,然后不需要调用自己(因为它“知道”要运行循环多少次(即n次)并执行计算中的单个步骤)。

递归实现不使用for循环,也不知道运行单个计算步骤的次数(即使在第一次调用函数并设置n的运行时也不知道)。因此,请考虑一种方法来递归地实现它,而不使用for循环!递归是更多的思考,但只有4行代码。但如果你自己想办法的话会更有帮助。

5 年前
回复了 sammy 创建的主题 » 如何使用python从元组中移除特定字符
t = ('one', ('two', 'three'))
t2 = str(t)       
print(t2.replace("'","")) 

使用关键字如 tuple 作为变量名,您可能会遇到麻烦。

5 年前
回复了 sammy 创建的主题 » python切片的奇怪行为

这种行为在 documentation

从i到j的s切片定义为索引为k的项序列,这样i<=k<j。如果i或j大于len(s),则使用len(s)。如果省略或没有,请使用0。如果j被省略或没有,使用len(s)。如果i大于或等于j,则切片为空。

从i到j的s切片,步骤k。。。。到达j时停止(但不包括j)。当k为正时,如果i和j的值较大,则它们将减为len(s)。当k为负时,如果i和j的值较大,则它们将被减为len(s)-1。如果i或j被省略或没有,它们将成为结束值(哪个结束取决于k的符号)。