zoukankan      html  css  js  c++  java
  • 【python系统学习09】while循环

    while循环

    和for一样,while也是实现循环代码的一种。

    伪代码

    先来看一段while的伪代码,了解下其语法格式。

    1# 伪代码
    2while 条件语句:
    3  条件成立执行的[while子句],位于缩进后边
    4else:
    5  循环完毕执行的代码块,位于缩进后边

    学过js的能从上边的代码中看出来,这和js的while基本无差。
    将代码直译过来都是:当XXX条件成立的时候,执行XXX语句。直到条件不成立,就跳过while语句。

    只不过python的特色是循环语句最后都会有自己的else语句。
    当while条件语句为“假”、循环执行完毕过后,流程都会走到else里边执行缩进后的任务。就好像出关口、必经之路的意思。

    示例代码

    来看一段示例代码

     1whileVal = 1
    2while whileVal <= 3:
    3  print('while子句:', whileVal)
    4  whileVal += 1
    5else:
    6  print('while执行完毕,跳出循环后执行了我', whileVal)
    7
    8# 打印结果
    9# while子句: 1
    10# while子句: 2
    11# while子句: 3
    12# while执行完毕,跳出循环后执行了我 4

    在上边的代码中,其执行流程大致如下:

    whileVal变量一开始是1。while的循环条件是变量小于等于3。
    此时1小于3条件成立,执行while子句的代码。打印“while子句: 1”
    然后变量whileVal递增一位,变成2。

    再次返回去判断条件,2<=3条件成立,继续执行while子句,打印“while子句: 2”
    然后变量whileVal递增一位,变成3。

    再次返回去判断条件,3<=3条件成立,继续执行while子句,打印“while子句: 3”
    然后变量whileVal递增一位,变成4。

    再次返回去判断条件,4<=3条件不成立,不执行while子句结束循环并跳出

    于是代码向下,执行else里的代码块,打印“while执行完毕,跳出循环后执行了我 4”
    并且我们可以通过打印明确得知,whileVal此时为4了。

    和for循环的不同

    while的知识点很简单,应用起来也很简单。
    不过同样作为循环,他和for循环有什么不同的呢?语法里为什么有了for还要有个while呢?

    我们先来想想。上边的代码用for实现怎么写呢?
    下边是我的写法

     1for forVal in range(14):
    2  print('for子句:', forVal)
    3else:
    4  print('for执行完毕,跳出循环后执行了我', forVal)
    5
    6# 打印结果如下:
    7# for子句: 1
    8# for子句: 2
    9# for子句: 3
    10# for执行完毕,跳出循环后执行了我 3

    观察发现,for最后的变量值为3。
    也就是for在特定循环次数内,在你指定循环次数的情况下进行的迭代。

    而while是你可以指定一个已经确定的临界值,只要在临界值里边的,都会执行while。即当while语句一直成立的时候,while子句就会一直执行。
    而更厉害的是,这个临界值可以是我们知道的(比如上边限制小于等于3,就是我们设定的已知临界值)。
    当然,这个临界值也可以是我们不知道的。比如让用户输入的情况,也比如无限循环的情况。代码分别如下。

    根据用户输入判断条件

    以下代码,是条件根据用户输入进行判断的例子。

    1myAge = input('请猜一下我的年龄:')
    2while myAge != '20':
    3  print('不对!')
    4  myAge = input('请再猜一下我的年龄:')
    5else
    6  print('猜对啦!恭喜你!')

    我的人机对话过程
    我的人机对话过程

    只要用户输入的不是20,这个循环中while子句的内容就会一直执行。

    而当用户输入20时,条件不成立(myAge=20,而不是!=20),则跳出循环。执行else内容。

    无限循环

    利用while,我们还可以写一段死循环代码。

    1# 请谨慎尝试!
    2while True:
    3  print('我停不下来了~')

    在条件语句那里,可以填表达式,同样也可以填写布尔值。

    当我们填写布尔值True时,因为条件一直成立。循环永远不停,就形成了我们常说的死循环代码。

    continue跳过本次循环

    同for,continue语句在while中的使用作用一样是跳出本次单轮的循环、继续下次的循环。
    不再赘述,直接上代码:

     1continueVal = 1
    2while continueVal <= 5:
    3  continueVal += 1
    4  if continueVal == 3:
    5    print('if条件中')
    6    continue
    7  else:
    8    print('continueVal的值:',continueVal)
    9else:
    10  print('循环结束')
    11
    12# 打印结果:
    13# continueVal的值: 2
    14# if条件中
    15# continueVal的值: 4
    16# continueVal的值: 5
    17# continueVal的值: 6
    18# 循环结束

    跳过了==3时的循环,
    并且打印了while语句所对应的else语句的内容。

    break跳出循环

    同for,break语句在while中的使用作用一样是跳出循环。
    不再赘述,直接上代码:

     1breakVal = 1
    2while breakVal <= 5:
    3  breakVal += 1
    4  if breakVal == 3:
    5    print('if条件中')
    6    break
    7  else:
    8    print('breakVal的值:',breakVal)
    9else:
    10  print('循环结束')
    11
    12# 打印结果:
    13# breakVal的值: 2
    14# if条件中

    条件==3时,直接结束循环,
    并且不再打印while语句所对应的else语句了。

    练习题

    实现1到10的数分别乘以100

    分别用for循环和while循环俩种方案实现

  • 相关阅读:
    c# 与 winform 界面开发
    文件大小的友好输出及其 Python 实现
    bookhub -- 扁平化本地电子书管理与分享工具
    阶段性放弃 wxPython 前的总结
    数据挖掘环境下的个人信息安全
    精益阅读 -- 科技图书的阅读过程管理工具
    wxPython Modal Dialog 模式对话框
    wxPython 基本框架与运行原理 -- App 与 Frame
    JAVA向,二叉查找树
    线性表实践-选票算法
  • 原文地址:https://www.cnblogs.com/padding1015/p/12262615.html
Copyright © 2011-2022 走看看