循环结构-for循环

循环结构允许重复执行一行或数行代码,主要有for循环和while循环等几种形式。for循环的循环次数是确定的,而while循环的次数不确定,在满足要求时一直循环或在满足要求前一直循环。本节介绍for循环。[大谦MATLAB,dqmatlab点com]

for循环

【MATLAB】

for循环允许一组命令以固定的和预定的次数重复执行,for循环的一般形式如下:

code.matlab
for 迭代变量=表达式
  执行语句…;
end

其中迭代变量为循环变量,它按照后面表达式定义的规则在指定范围内逐个取值,并在循环体的语句中进行使用。

【Python】

利用for循环按给定的次数重复操作。该循环结构的语法格式为:

code.python
for 迭代变量 in 可迭代对象
    执行语句

使用for循环遍历指定的可迭代对象,即针对可迭代对象中的每个元素执行相同的操作。可迭代对象包括字符串、列表、元组、字典等,这些对象将在后面的章节中进行介绍。

下面的例子以100为间隔,在立即窗口中输出1到500的值。

【MATLAB】

在命令窗口输入:

code.matlab
>> for i=1:100:500
  disp(i)
end

回车,显示:

code.matlab
1
101
201
301
401

【Python】

在Python IDLE Shell窗口输入下面的语句,其中range函数在1到500范围内每隔100取一个数。

code.python
>>> for num in range(1,500,100):
       print(num)

连续回车,显示:

code.python
1
101
201
301
401

下面用for循环对1到10的整数进行累加。

【MATLAB】

在命令窗口输入下面的代码。

code.matlab
>> sum=0;  %存储累加和的变量,初始化为0
>> for i=1:10
  sum=sum+i;
end

表达式1:10表示循环变量i在1到10的范围内每间隔1取一个整数进行累加求和。输出累加和sum:

code.matlab
>> sum
sum =
    55

所以,1到10的整数的累加和为55。

【Python】

在Python IDLE Shell窗口输入:

code.python
>>> sum=0  #初值0
>>> num=0
>>> for num in range(11):  #num在1到10范围内逐个取值
       sum+=num  #累加
>>> print(sum)

回车,显示:

code.python
55

嵌套for循环

嵌套循环结构在循环结构的内部又包含有新的循环结构,可以有两层或多层循环。下面用嵌套for循环生成九九乘法表。

【MATLAB】

在命令窗口输入下面的代码。

code.matlab
>> for i=1:9
    for j=1:i
      fprintf('%d*%d=%d ',j,i,i*j);  %格式化输出计算公式
    end
  fprintf('\n');  %换行
end

输出九九乘法表:

code.matlab
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

【Python】

在Python IDLE Shell窗口输入:

code.python
>>> for i in range(1,10):
        s=''
        for j in range(1,i+1):
            s+=str.format('{1}*{0}={2} ',i,j,i*j)
        print(s)

连续回车,显示九九乘法表。

代码第1行用for循环的迭代变量i在1至9中逐个取值,给出各乘式的第1个因子;第2行对变量s初始化为空字符串,该变量记录一行乘式;第3行用内层for循环的迭代变量在1至i之间逐个取值,作为各乘式的第2个因子,因为在1至i之间取值,最后得到的乘法表是一个下三角的形状;第4行用字符串对象的format函数格式化组装乘式,各乘式之间用空格间隔;第5行输出当前行所有乘式。最后,九九表的所有乘式就是这样一行一行生成的。