Logo
Section 1 / 11

迭代函数概述

在本节课中,我们将学习迭代。

导入

迭代函数概述

在本节课中,我们将学习迭代。

什么是迭代?

迭代指的是重复执行某些步骤以达到预期结果。在计算机编程中,迭代过程通常涉及一种机制,包括循环。

当我们学习递归时,了解迭代的基本概念也同样重要。

迭代函数的格式

每个迭代函数都包含一个循环和一个条件语句,用于判断是否继续迭代或停止进一步执行。

...
迭代函数的代码流程图。

上图中,虚线框所包围的部分代表了代码流程中的迭代部分。

迭代函数的语法

让我们看看如何使用 Python 编写一个迭代函数:

1def IterativeFunction(): 2 <根据需要定义局部变量> 3 while <某个条件 == True>: 4 # 执行某项任务

计算一个数的阶乘

下面我们来看一个计算指定数字阶乘的迭代代码。请回顾我们在前一课中介绍的该函数的递归实现。

迭代版本

1def factorial(targetNumber): 2 # 处理 0 和 1 的基本情况 3 if targetNumber <= 1: 4 return targetNumber 5 6 # 将索引初始化为 targetNumber - 1 7 index = targetNumber - 1 8 9 while index >= 1: 10 targetNumber = targetNumber * index # 将 targetNumber 与比它小 1 的值(即 index)相乘 11 index -= 1 # 每次迭代将 index 减 1 12 13 return targetNumber 14 15# 测试代码 16targetNumber = 5 17result = factorial(targetNumber) 18print("数字 " + str(targetNumber) + " 的阶乘是: " + str(result))

递归版本

1def factorial(targetNumber): 2 # 处理 0 和 1 的基本情况 3 if targetNumber <= 1: 4 return targetNumber 5 6 # 递归情况 7 else: 8 return targetNumber * factorial(targetNumber - 1) 9 10# 测试代码 11targetNumber = 5 12result = factorial(targetNumber) 13print("数字 " + str(targetNumber) + " 的阶乘是: " + str(result))

对于迭代版本,我们启动了一个简单的 while 循环,在每次迭代中将 targetNumber 与 index 相乘。index 每次减少 1。这一步至关重要,否则程序将陷入无限循环。index 的初始值为 targetNumber - 1。

下面我们通过手动模拟来跟踪代码中变量的变化情况。


在下一课中,我们将重点对比迭代与递归之间的主要区别。

递归基础

迭代函数与递归函数的区别