zoukankan      html  css  js  c++  java
  • python学习笔记-控制流(if for while break continue)

    • if语句

         if语句用以检查条件:如果条件为真(True),将运行一块语句(称作 if-block 或 if 块),否则将运行另一块语句(称作 else-block 或 else 块)。其中else 从句是可选的。   

         案例  if.py

    number = 23
    guess = int(input('Enter an integer : '))
    if guess == number: # 新块从这里开始
        print('Congratulations, you guessed it.') 
        print('(but you do not win any prizes!)') # 新块在这里结束
    elif guess < number: # 另一代码块
        print('No, it is a little higher than that')
    # 你可以在此做任何你希望在该代码块内进行的事情 
    else:
        print('No, it is a little lower than that') # 你必须通过猜测一个大于(>)设置数的数字来到达这里。
    print('Done')
    # 这最后一句语句将在if语句执行完毕后执行

        输出:

    $ python if.py
    Enter an integer : 50
    No, it is a little lower than that
    Done
    $ python if.py
    Enter an integer : 22
    No, it is a little higher than that
    Done
    $ python if.py
    Enter an integer : 23
    Congratulations, you guessed it.
    (but you do not win any prizes!)
    Done

        if.py是如何工作的:

        在这个程序中,我们根据用户猜测的数字来检查这一数字是否是我们设置的。我们将变量number设为任何我们所希望的整数,例如23。然后,通过input()函数来获取用户的猜测数。

        我们为内置的input()函数提供一串打印到屏幕上的字符串并等待用户的输入。一旦输入了某些内容并按下键盘上的Enter键, input()函数将以字符串的形式返回我们所输入的内容。然后通过int这个类(class)将这个字符串转换成一个整数并将其储存在变量guess中。

        接下来,将用户提供的猜测数与我们所选择的数字进行对比。如果相等,就打印一条成功信息。在这里要注意到我们使用缩进级别来告诉Python哪些语句分别属于哪个块。这便是为什么在 Python 中缩进如此重要。

        另外需要注意的是if语句在结尾处包含一个冒号——借此向 Python 指定接下来会有一块语句在后头。

        然后,检查猜测数是否小于我们选择的数字,如果是,将告诉用户必须猜一个更高一些的数字。在这里我们使用的是elif语句,它们实际上将两个相连的if else-if else 语句合并成一句 if-elif-else语句。这能够使程序更加简便,并且可以减少所需要的缩进量。

        elif和else同样都必须有一个冒号在其逻辑行的末尾,后面跟着相应的语句块。

        可以在 if 块的 一个 if语句中设置另一个 if语句,并可以如此进行下去——这被称为嵌套的if语句。

        elif和else部分都是可选的。一个最小规模且有效的if语句是这样的:

    if True:
        print('Yes, it is true')

        当 Python 完整执行了 if语句及与其相关的 elif和 else子句后,它将会移动至包含 if语句的代码块的下一句语句中。在本例中,也就是主代码块(程序开始执行的地方),其下一句语句就是 print('Done')语句。在完成这些工作后,Python 会发现已行至程序末尾并宣告工作的完成。

    • while 语句

        while语句能够在条件为真的前提下重复执行某块语句。while语句是循环 (Looping) 语句的一种。while语句同样可以拥有else子句作为可选选项。

        案例  while.py

    number = 23
    running = True
    while running:
        guess = int(input('Enter an integer : '))
        if guess == number:
            print('Congratulations, you guessed it.') # 这将导致 while 循环中止
            running = False
        elif guess < number:
            print('No, it is a little higher than that.')
        else:
            print('No, it is a little lower than that.')
    else:
        print('The while loop is over.') # 在这里你可以做你想做的任何事
    print('Done')

    输出:

    $ python while.py
    Enter an integer : 50
    No, it is a little lower than that.
    Enter an integer : 22
    No, it is a little higher than that.
    Enter an integer : 23
    Congratulations, you guessed it.
    The while loop is over.
    Done

        while.py是如何工作的:

        在这一程序中,依旧通过猜数游戏来演示,不过新程序的优点在于能够允许用户持续猜测直至他猜中为止——而无需像在上一节中所做的那样,每次猜测都要重新运行程序。这种变化恰到好处地演示了while语句的作用。

        首先将 input与 if语句移到 while循环之中,并在 while 循环开始前将变量running 设置为 True。程序开始时,首先检查变量 running是否为True ,之后再执行相应的 while 块。在这一代码块被执行之后,将会重新对条件进行检查,在本例中也就是 running变量。如果它依旧为True ,将再次执行 while 块,否则将继续执行可选的 else 块,然后进入到下一个语句中。

        else代码块在 while循环的条件变为 false时开始执行——这个开始的时机甚至可能是在第一次检查条件的时候。如果 while循环中存在一个else 代码块,它将总是被执行, 除非通过 break语句来中断这一循环。

    • for循环

        for语句是另一种循环语句,特点是会在一系列对象上进行迭代(Iterates),即它会遍历序列中的每一个项目。

        案例  for.py

    for i in range(1, 5):
        print(i)
    else:
        print('The for loop is over')

    输出:

    $ python for.py
    1
    2
    3
    4
    The for loop is over

        for.py是如何工作的:
        在这一程序中,打印了一序列的数字。我们通过内置的range函数生成这一数字序列。

        在这里我们所要做的事情是提供两个数字,而 range将会返回一序列的数字,从第一个数字开始,至第二个数字结束。举个例子,range(1,5) 将输出序列 [1,2,3,4]。在默认情况下, range将会以 1 逐步递增。如果我们向 range提供第三个数字,则这个数字将成为逐步递增的加数。同样举个例子来说明, range(1,5,2)将会输出 [1,3]。要记住这一序列扩展直到第二个数字,也就是说,它不会包括第二个数字在内。

        然后 for循环就会在这一范围内展开递归——for i in range(1,5) 等价于 for i in [1,2,3,4],这个操作依次将队列里的每个数字(或是对象)分配给i ,一次一个,然后以每个 i的值执行语句块。在本例中,这一语句块所做的就是打印出这些值。

        else部分是可选的。当循环中包含else时,它总会在for循环结束后开始执行,除非程序遇到了 break 语句。

    • break语句

        break语句用以中断(Break)循环语句,也就是中止循环语句的执行,即使循环条件没有变更为False ,或队列中的项目尚未完全迭代依旧如此。

        有一点需要尤其注意,如果中断了一个for 或 while循环,任何相应循环中的else块都将不会被执行。

        案例  break.py

    while True:
        s = raw_input('Enter something : ')
        if s == 'quit':
            break
        print('Length of the string is', len(s))
    print('Done')

    输出:

    $ python break.py
    Enter something : Programming is fun
    Length of the string is 18
    Enter something : When the work is done
    Length of the string is 21
    Enter something : if you wanna make your work also fun:
    Length of the string is 37
    Enter something : use Python!
    Length of the string is 11
    Enter something : quit
    Done

        break.py是如何工作的:

        在本程序中,重复地接受用户的输入内容并打印出每一次输入内容的长度。通过检查用户输入的是否是quit 这一特殊条件来判断是否应该终止程序。我们通过中断循环并转进至程序末尾来结束这一程序。

        输入字符串的长度可以通过内置的len函数来找到。

        break语句同样可以适用于for 循环。

    • continue语句

        案例  continue.py

    while True:
        s = raw_input('Enter something : ')
        if s == 'quit':
            break
        if len(s) < 3:
            print('Too small')
            continue
        print('Input is of sufficient length') # 自此处起继续进行其它任何处理

    输出:

    $ python continue.py
    Enter something : a
    Too small
    Enter something : 12
    Too small
    Enter something : abc
    Input is of sufficient length
    Enter something : quit

        continue.py 是如何工作的:

        在本程序中,接受来自用户的输入内容,但是只有在输入的字符串其长至少 3 字符我们才会对其进行处理。为此,我们使用内置的 len函数来获取字符串的长度,如果其长度小于3,我们便通过使用 continue语句跳过代码块中的其余语句。否则,循环中的剩余语句将被执行,并在此处进行我们所希望的任何类型的处理。

        continue语句同样能用于 for循环。

  • 相关阅读:
    『BASH』——文件权限批量恢复脚本——「Permission Revovery」
    拾遗:基础知识回顾01
    C之:微代码——柱状图(link_list、struct)
    拾遗:yes 是一个很有用的小命令
    『BASH』
    拾遗:『ext4 Quota』
    循环动态生成html并且绑定事件带参函数
    asp.net页面间传递数据的方法(ZZ)
    Session对象概述
    HTML DOM Introduction 翻译 w3schools.com
  • 原文地址:https://www.cnblogs.com/chengchengla1990/p/8982815.html
Copyright © 2011-2022 走看看