Python笔记(十)--while循环语句

来源:互联网 发布:淘宝卖家火拼在哪里 编辑:程序博客网 时间:2024/05/29 12:57

Python 循环语句

本章节将向大家介绍Python的循环语句,程序在一般情况下是按顺序执行的。

编程语言提供了各种控制结构,允许更复杂的执行路径。

循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式:


Python提供了for循环和while循环(在Python中没有do..while循环):

循环类型描述while 循环在给定的判断条件为 true 时执行循环体,否则退出循环体。for 循环重复执行语句嵌套循环你可以在while循环体中嵌套for循环这节主要介绍while循环语句:

Python While 循环语句

Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

while 判断条件:    执行语句……

执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。

当判断条件假false时,循环结束。

执行流程图如下:


例如(九九乘法表):

左下角

i=1while(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=11*2=22*2=41*3=32*3=63*3=91*4=42*4=83*4=124*4=161*5=52*5=103*5=154*5=205*5=251*6=62*6=123*6=184*6=245*6=306*6=361*7=72*7=143*7=214*7=285*7=356*7=427*7=491*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=641*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

左上角

i=9while(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=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=811*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=641*7=72*7=143*7=214*7=285*7=356*7=427*7=491*6=62*6=123*6=184*6=245*6=306*6=361*5=52*5=103*5=154*5=205*5=251*4=42*4=83*4=124*4=161*3=32*3=63*3=91*2=22*2=41*1=1

无限循环

如果条件判断语句永远为 true,循环将会无限的执行下去。

while 1:    n=raw_input()
    print n

注意:无限循环可以使用 CTRL+C 来中断循环。

循环使用 else 语句

在 python 中,while … else 在循环条件为 false 时执行 else 语句块。

i= 0while i< 5:   print i, " is  less than 5"   i + =1else:   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 +",你输了!"
输出:

输入 石头、剪子、布,输入"end"结束游戏:布电脑出了: 布,平局!输入 石头、剪子、布,输入"end"结束游戏:布电脑出了: 剪子,你输了!输入 石头、剪子、布,输入"end"结束游戏:布电脑出了: 石头,你赢了!输入 石头、剪子、布,输入"end"结束游戏:
这依然是无限循环,在下两节介绍break语句控制该无限循环语句