Python递归案例

把10不断处以2,直到不能除为止,打印每次的结果

def a(num):
    if num == 0:
        return 0
    else:
        print(num)
        a(num // 2)


a(10)

兔子数列

def f(month):
    if month < 3:
        return 1
    else:
        return f(month - 1) + f(month - 2)


print(f(12))

传入两个数,如果第一个数小于第二个数,两数相乘;如果第一个数大于等于第二个数,两数相除

# 普通函数
def fun1(a, b):
    if a < b:
        return a * b
    else:
        return a / b


# 匿名函数
fun2 = lambda a, b: a * b if a < b else a / b

print(fun1(5, 6))
print(fun1(6, 2))
print(fun2(5, 6))
print(fun2(6, 2))

编写函数,输出1~100中偶数之和。

def fun1(num):
    s = 0
    i = 2
    while i <= num:
        s += i
        i += 2
    return s


print(fun1(100))

编写函数,计算20×19×18×…×3的结果。

def fun2(num):
    s = 1
    while num > 2:
        s *= num
        num -= 1
    return s


print(fun2(20))

编写函数,判断用户输入的整数是否为回文数。回文数是一个正向和逆向都相同的整数,如123454321、9889。

def fun3(num):
    temp = str(num)
    if temp == temp[::-1]:
        return True
    return False


print(fun3(int(input("请输入你要判断的数字:"))))

编写函数,判断用户输入的3个数字是否能构成三角形的三条边。

def fun4(a, b, c):
    if a + b > c and a + c > b and b + c > a:
        return True
    return False


print(fun4(int(input("请输入三角形的第一条边:")), int(input("请输入三角形的第二条边:")), int(input("请输入三角形的第三条边:"))))

编写函数,求2个正整数的最小公倍数。

温馨提示:本文最后更新于2023-12-18 16:45:35,某些文章具有时效性,若有错误或已失效,请在下方留言或联系站长
© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
相关推荐
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情

    暂无评论内容