python学习笔记-控制流(if for while break continue)

  • if语句

     if语句用以检查条件:若是条件为真(True),将运行一块语句(称做 if-block 或 if 块),不然将运行另外一块语句(称做 else-block 或 else 块)。其中else 从句是可选的。   python

     案例  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语句执行完毕后执行

    输出:oop

$ 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是如何工做的:ui

    在这个程序中,咱们根据用户猜想的数字来检查这一数字是不是咱们设置的。咱们将变量number设为任何咱们所但愿的整数,例如23。而后,经过input()函数来获取用户的猜想数。spa

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

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

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

    而后,检查猜想数是否小于咱们选择的数字,若是是,将告诉用户必须猜一个更高一些的数字。在这里咱们使用的是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循环。

相关文章
相关标签/搜索