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

Python 循环语句

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

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

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


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

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

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()
    print n


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

循环使用 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 +",你输了!"
输出:

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



  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值