python 递归 return None

简介: python 递归 return None

从一到题目引发的关于递归的思考

def 递归函数有两个条件,但只有一个条件有返回值,造成了结果为None

关于函数的return ,我们总是以为return 就结束了,但是在递归函数中,return 只是返回给上一个函数,一直返回才到第一个函数。所以要对代买进行修改

import math
import threading
class myThread (threading.Thread):
    def __init__(self, threadID, name,num):
        threading.Thread.__init__(self)
        self.threadID = threadID
        self.name = name
def gcd(a,b):
    # *************begin************#
    if(a<b):
        p=a
        a=b
        b=p
    c=a%b
    if(c==0):
        return b
    else:
        a=b
        b=c
        return gcd(a,b)
# **************end*************#  
def main():
    a = int(input()) 
    b = int(input())
    r = gcd(a,b)
    print(r)
if __name__=='__main__':
    main()

 

目录
相关文章
|
11月前
|
安全 JavaScript Java
Python中None与NoneType的真相:从单例对象到类型系统的深度解析
本文通过10个真实场景,深入解析Python中表示“空值”的None与NoneType。从单例模式、函数返回值,到类型注解、性能优化,全面揭示None在语言设计与实际编程中的核心作用,帮助开发者正确高效地处理“无值”状态,写出更健壮、清晰的Python代码。
1931 3
|
算法 Python
在Python编程中,分治法、贪心算法和动态规划是三种重要的算法。分治法通过将大问题分解为小问题,递归解决后合并结果
在Python编程中,分治法、贪心算法和动态规划是三种重要的算法。分治法通过将大问题分解为小问题,递归解决后合并结果;贪心算法在每一步选择局部最优解,追求全局最优;动态规划通过保存子问题的解,避免重复计算,确保全局最优。这三种算法各具特色,适用于不同类型的问题,合理选择能显著提升编程效率。
392 2
|
Python
Python Tricks: Nothing to Return Here
Python Tricks: Nothing to Return Here
201 1
|
Java 程序员 C++
【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数
【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数
300 0
【Python】链式、嵌套调用、递归、函数栈帧、参数默认值和关键字参数
|
算法 Python
python函数递归和生成器
python函数递归和生成器
|
算法 数据挖掘 Python
深入理解Python中的递归文件夹读取操作
【8月更文挑战第27天】
485 1
|
缓存 Python
Python中递归错误
【7月更文挑战第17天】
543 8
|
存储 Python
【Python 3】什么时候使用yield而不是return?
本文讨论了Python中`yield`与`return`的使用场景,解释了`yield`在生成器中的应用,允许函数逐步产生值而不必一次性计算并返回整个序列,适合于节省内存的懒加载场景。
379 2
|
搜索推荐 Python
快速排序:Python 中的速度之王,揭秘它的递归魔法与性能极限!
【7月更文挑战第12天】快速排序**是高效排序算法,基于分治策略。它选择基准值,将数组分成小于和大于基准的两部分,递归地对两部分排序。
306 6
|
算法 Python
python中算法递归错误(Recursion Errors)
【7月更文挑战第18天】
848 1

推荐镜像

更多