Python 循环语句
本章节将向大家介绍Python的循环语句,程序在一般情况下是按顺序执行的。
编程语言提供了各种控制结构,允许更复杂的执行路径。
循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式:
Python提供了for循环和while循环(在Python中没有do..while循环):
循环类型 | 描述 |
---|---|
while 循环 | 在给定的判断条件为 true 时执行循环体,否则退出循环体。 |
for 循环 | 重复执行语句 |
嵌套循环 | 你可以在while循环体中嵌套for循环 |
Python While 循环语句
Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:
while 判断条件:
执行语句……
执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。
当判断条件假false时,循环结束。
执行流程图如下:
例如(九九乘法表):
左下角
i=1
while(i<10):
j=1
while(j<i+1):
m=j*i
print '%d*%d=%d\t'%(j,i,m),
j+=1
print '\n'
i+=1
输出:
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
左上角
i=9
while(i>0):
j=1
while(j<i+1):
m=j*i
print '%d*%d=%d\t'%(j,i,m),
j+=1
print '\n'
i-=1
输出:
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
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*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*4=4 2*4=8 3*4=12 4*4=16
1*3=3 2*3=6 3*3=9
1*2=2 2*2=4
1*1=1
无限循环
如果条件判断语句永远为 true,循环将会无限的执行下去。
while 1: n=raw_input()
注意:无限循环可以使用 CTRL+C 来中断循环。print n
循环使用 else 语句
在 python 中,while … else 在循环条件为 false 时执行 else 语句块。
这个用法较少使用。i= 0 while i< 5: print i, " is less than 5" i + =1 else: print i, " is not less than 5"
简单语句组
类似 if 语句的语法,如果你的 while 循环体中只有一条语句,你可以将该语句与while写在同一行中, 如下所示:
这种用法大都是无限循环,所以使用并不广泛while 1: print raw_input()
石头剪子布:
import random
输出:while 1: s = int(random.randint(1, 3)) if s == 1: ind = "石头" elif s == 2: ind = "剪子" elif s == 3: ind = "布" m = raw_input('输入 石头、剪子、布,输入"end"结束游戏:') blist = ['石头', "剪子", "布"] if (m not in blist) and (m != 'end'): print "输入错误,请重新输入!" elif (m not in blist) and (m == 'end'): print "\n游戏退出中..." break elif m == ind : print "电脑出了: " + ind + ",平局!" elif (m == '石头' and ind =='剪子') or (m == '剪子' and ind =='布') or (m == '布' and ind =='石头'): print "电脑出了: " + ind +",你赢了!" elif (m == '石头' and ind =='布') or (m == '剪子' and ind =='石头') or (m == '布' and ind =='剪子'): print "电脑出了: " + ind +",你输了!"
这依然是无限循环,在下两节介绍break语句控制该无限循环语句输入 石头、剪子、布,输入"end"结束游戏:布 电脑出了: 布,平局! 输入 石头、剪子、布,输入"end"结束游戏:布 电脑出了: 剪子,你输了! 输入 石头、剪子、布,输入"end"结束游戏:布 电脑出了: 石头,你赢了! 输入 石头、剪子、布,输入"end"结束游戏: