流程控制语句之循环语句(一)

2019-01-05  本文已影响32人  5f2a6061653d

while语句

在while语句中,当条件表达式为True时,就重复执行语句块;当条件表达式为False时,就结束执行语句块。while语句的语法格式如下:

while 条件表达式:

  语句块 # 此处语句块也称循环体

while语句中循环体是否执行,取决于条件表达式是否为True。当条件表达式为True时,循环体就会被执行,循环体执行完毕后继续判断条件表达式,如果条件表达式为True,则会继续执行,直到条件表达式为False时,整个循环过程才会执行结束。while语句的执行流程,如下图所示。

while循环流程图

接下来演示while语句的用法,如下所示。

1 i, sum = 1, 0
2 while i < 101:
3     sum += i
4     i += 1
5 print("1 + 2 + ··· + 100 = %d"%sum)

运行结果如下图所示。

运行结果

在上例中,程序功能是实现1到100的累加和。当i=1时,i<101,此时执行循环体语句块,sum为1,i为2。当i=2时,i<101,此时执行循环体语句块,sum为3,i为3。以此类推,直到i=101,不满足循环条件,此时程序执行第5行代码。

for语句

for语句可以循环遍历任何序列中的元素,如列表、元组、字符串等,其语法格式如下:

for 元素 in 序列:
  语句块

其中,for、in为关键字,for后面是每次从序列中取出的一个元素。接下来演示for语句的用法,如下所示。

1 for word in "Python":
2     print(word)

运行结果如下图所示。


运行结果

在上例中,for语句将字符串中的每个字符逐个赋值给word,然后通过print()函数输出。

当需要遍历数字序列时,可以使用range()函数,它会生成一个数列,接下来演示其用法,如下所示。

1 sum = 0
2 for i in range(1, 101):
3     sum += i
4 print("1 + 2 + ··· + 100 = %d"%sum)

运行结果如下图所示。

运行结果

在上例中,通过range()函数可以生成一个1到100组成的数字序列,当使用for遍历时,依次从这个数字序列中取值。

while与for嵌套

while语句中可以嵌套while语句或for语句,接下来演示while语句中嵌套while语句,如下所示。

1 i = 1
2 while i < 10:
3     j = 1
4     while j <= i:
5         print("%d×%d = %-3d"%(i, j, i*j), end = ' ')
6         j += 1
7     i += 1
8     print(end = '\n')

运行结果如下图所示。


运行结果

在上例中,第2行到第8行为外层while循环,第4行到第6行为内层while循环,其中变量i控制行,变量j控制列,乘法表中的每一项可以表示为i×j = i*j。

接下来演示while语句中嵌套for语句,如下所示。

1 i = 1
2 while i < 10:
3     for j in range(1, i + 1):
4         print("%d×%d = %-3d"%(i, j, i*j), end = ' ')
5     i+= 1
6     print(end = '\n')

运行结果如下图所示。


运行结果

在上例中,第2行到第6行为外层while循环,第3行到第4行为内层for循环,其中变量i控制行,变量j控制列,乘法表中的每一项可以表示为i×j = i*j。

此外,for语句中可以嵌套while语句或for语句,接下来演示for语句中嵌套while语句,如下所示。

1 for i in range(1, 10):
2     j = 1
3     while j <= i:
4         print("%d×%d = %-3d"%(i, j, i*j), end = ' ')
5         j += 1
6     print(end = '\n')

运行结果如下图所示。


运行结果

在上例中,第1行到第6行为外层for循环,第3行到第5行为内层while循环,其中变量i控制行,变量j控制列,乘法表中的每一项可以表示为i×j = i*j。

接下来演示for语句中嵌套for语句,如下所示。

1 for i in range(1, 10):
2     for j in range(1, i + 1):
3         print("%d×%d = %-3d"%(i, j, i*j), end = ' ')
4     print(end = '\n')

运行结果如下图所示。


运行结果

在上例中,第1行到第4行为外层for循环,第2行到第3行为内层for循环,其中变量i控制行,变量j控制列,乘法表中的每一项可以表示为i×j = i*j。

上一篇 下一篇

猜你喜欢

热点阅读