鱼C论坛

 找回密码
 立即注册
查看: 2702|回复: 0

[学习笔记] 递归和迭代

[复制链接]
发表于 2023-2-8 23:19:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
# !/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time   : 2023/2/8 22:18
# @Author : xiongming
# @File   : Digui.py
# @Desc   : 递归-recursion

# 递归:调用函数自身的过程
# 迭代比递归效率快

def funC(i):
    # 条件限制
    if i > 0:
        print("AWDBYL", end='、')
        i -= 1
        funC(i)

funC(5)

print()

# 求一个数的阶乘:3!= 1 * 2 * 3

# 迭代器
def factIter(n):
    result = n
    for i in range(1,n):
        result *= i
    return print("结果是:" + str(result))

factIter(5)

# 递归
def factRecur(n):
    if n == 1:
        return 1
    else:
        return n * factIter(n-1)

# print(factRecur(5))


# 斐波那契数列 1,1,2,3,5,8,13
def fibIter(n):
    a,b,c = 1,1,1
    while n > 2:
        c = a + b
        a = b
        b = c
        n -= 1
    return c

print(fibIter(8))

def fibRecur(n):
    if n == 1 or n == 2:
        return 1
    else:
        return fibIter(n-1) + fibIter(n-2)

print(fibRecur(8))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 06:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表