湖南seo网站多少钱,vs2015 做网站,wordpress可以干什么,网站策划与建设阶段的推广的目标简介 迄今为止我们见到的所有程序总是含有一连串语句并且python忠实的顺序执行它们。 那么如何改变它们的执行顺序呢#xff1f;例如你希望程序根据不同情况作出不同反应#xff0c;按照当前时间分别 打印出’Good Morning’或’Good Evening’? 也许你已经猜到了#xff0… 简介 迄今为止我们见到的所有程序总是含有一连串语句并且python忠实的顺序执行它们。 那么如何改变它们的执行顺序呢例如你希望程序根据不同情况作出不同反应按照当前时间分别 打印出’Good Morning’或’Good Evening’? 也许你已经猜到了这需要使用控制流程语句python拥有3种此类语句分别为iffor和while。 if语句 if语句用来检查一个条件如果条件为真则执行一个语句块(被称作if块)否则执行另一个语句块(被称作else块)。 其中else分支是可选的。 范例 #!/usr/bin/python # Filename: 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) # 只有guess number 才会执行到此处 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 程序流程 本程序将用户猜测的数对比被猜的数(注: 23)。 我们可以将被猜数定为任何整数。然后利用input()函数得到用户猜测的数。 函数只是可复用的程序片段下章我们会学到更多关于函数的知识。 我们为内建input函数提供一个字符串函数会将它打印到屏幕一但我们输入了什么并按下回车 input就会将输入当作一个字符串返回之后利用int我们将其转换为一个整数并存入变量guess中。 实际上int是一个类现在你只需知道它能将一个字符串转换为整数(假设字符串包含一个合法的文本 形式的整数)。 接下来我们比较用户猜测的数与被猜的数如果它们相等我们就打印一个成功信息。注意我们 使用缩进告诉python语句分别属于哪些块这就是为什么缩进对于python非常重要。 我也希望你能做到前文提到的”缩进一致性”规则你可以吗? 同时也要注意到if语句的结尾包含一个分号 – 它指示python分号其后将跟随一个语句块。 紧接着我们检查猜测的数是否小于被猜数如果是则告诉用户猜测的数大了一些。 这里我们使用的是elif分支事实上它把两个相关的if else-if else语句组合成一个if-elif-else语句。 这样做不仅使得程序更加简洁也降低了缩进数量。 同样elif和else语句必须在逻辑行的结尾写上冒号其后是与之对应的语句块(当然还要有相应的缩进) 最后你也可以在if语句中插入另一个if-block块这叫做嵌套的if语句。 上面说过elif和else是可选的。一个最简单合法的if语句如下 if True: print(Yes, it is true) 当python执行完if语句及其相关的elif和else分支控制权会转移到包含此if语句的语句块的下一条语句。 本例中这个块是主块程序从此块开始执行下一个条语句为print(‘Done’)。 随后python看到程序的结尾并简单的结束运行。 尽管程序非常简单我也指出了这个简单程序中你所有应该注意的地方。 这一切十分易懂(有C/C背景更是如此)但在最初你还是要引起注意等到用熟以后就会感到自然顺手了。 C/C程序员请注意 python没有switch语句你可以使用if…elif…else语句达到同样的目的(有时用字典代替会更加快捷)。 while语句 只要条件为真while语句允许你不断的重复执行语句块。 while语句是所谓循环语句的一个例子它还可以拥有一个可选的else分支。 范例 #!/usr/bin/python # Filename: while.py number 23 running True while running: guess int(input(Enter an integer : )) if guess number: print(Congratulations, you guessed it.) running False # this causes the while loop to stop 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.) # Do anything else you want to do here 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语句的使用。 我们将input和if语句移进while循环内并在循环开始前将变量running设为True。 最初我们检查变量running是否为True并进入while块执行之。while块执行完毕后继续检查条件即running是否为真。 如果是则再次执行while块否则可选的else块将被执行。完毕后再执行下一条语句。 只有while语句的条件为False时else才会被执行 – 就算条件第一次被检查时也是如此。 因此除非使用break跳出循环否则while循环的else分支肯定会被执行。 True和False被称为Boolean类型你可以分别把它们看作是值1和0。 (注只是”看作”而已不要认为它们完全等于0和1) 写给C/C程序员 记住while循环可以拥有else分支 for循环 for…in是另一种循环语句用来遍历序列对象也就是说遍历序列中的每个元素。 至于序列对象你现在只要记住序列只是元素的集合就可以了。 范例 #!/usr/bin/python # Filename: 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 执行流程 在这个程序中我们打印了一个数字序列。而这个序列由内建range函数产生。 根据我们提供的两个数字range返回一个开始于第一个数字而结束于第二个数的序列例如 range(1, 5)产生序列[1, 2, 3, 4]。默认的range步长为1。如果我们传给它第三个数字则相当于设置步长。 例如range(1, 5, 2)产生[1, 3]。记住range函数止步于我们提供的第2个数字即不包含第2个数。 然后for循环对其进行迭代 – for i in range(1, 5)等价于for I in [1, 2, 3, 4]就象将序列中的每个数 字(或对象)一次一个的赋给i而每次赋值都会执行一遍for语句块。本例中我们仅仅打印i的值。 记住else部分同样是可选的除非使用break语句跳出循环否则它总是在循环结束时执行一次。 还应记住for…in可以工作于任何序列这里我们使用的是内建函数range产生的数字列表 但我们也可以使用任何种类的对象组成的任何种类的序列后面的章节会有具体解释。 C/C/Java/C#请注意 python的for循环完全不同于C/C的for循环。 C#程序员应该已经注意到它类似于C#中的foreach循环。 而Java程序员也应该注意到了Java1.5的for(int i : IntArray)与之很相似。 如果你想实现C/C中的for(int i 0; i 5; i)python中只需编写 for i in range(0, 5)。 如你所见python的for循环更简单更富于表达力也更不容易出错。 break语句 break语句用于跳出循环即停止循环语句的执行即使循环条件还没有变为False或者序列的遍历尚未完成。 一个需要特别注意的地方是如果你使用break跳出for或while循环那么相关的else块不会被执行。 范例 #!/usr/bin/python # Filename: break.py while True: s (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 12 Enter something : quit Done 工作流程 这个程序不断的取得用户输入并打印每次输入的长度。通过一个特殊条件判断用户 输入是否等于’quit’如果是则使用break跳出循环随后来到程序尾则程序终止。 而输入字符串的长度可以通过内建函数len得到。 记住for循环同样可以使用break语句。 Swaroop Poetic Python 我在范例中输入的是一首自赋的小诗它的名字叫Swaroops Poetic Python Programming is fun When the work is done if you wanna make your work also fun: use Python! (注: Swaroop是本文作者不翻译了各位用个人独有的悠悠情愫”淫”起来吧啊。。。。啊。。。。) continue语句 语句continue告诉python跳过当前循环语句块的剩余部分执行下次迭代。 范例 #!/usr/bin/python # Filename: continue.py while True: s input(Enter something : ) if s quit: break if len(s) 3: print(Too small) continue print(Input is of sufficient length) # Do other kinds of processing here... 输出 $ python test.py Enter something : a Too small Enter something : 12 Too small Enter something : abc Input is of sufficient length Enter something : quit 工作流程 本例接收用户输入只有当输入至少为3个字符长时才会进行处理。 因此我们使用内建len函数取得输入长度当小于3时利用continue语句跳过程序的余下部分。 否则程序的余下部分会被执行在这里可以进行我们希望做的任何种类的处理。 注意continue语句同样能够配合for循环使用。 小结 我们已经知道如何使用python中的3个控制流语句了 - if, while, for及其相关的break, continue语句。 它们是python中常用的部分因此有必要熟练掌握。 接下来我们会看到如何创建和使用函数 --------------Python书籍推荐----------------- Python基础教程-第2版.修订版 购买地址1 购买地址2 PYTHON核心编程 购买地址1 购买地址2 零基础学Python 购买地址1 购买地址2 转载于:https://www.cnblogs.com/txw1958/archive/2012/12/10/A_Byte_of_Python3_Control_Flow.html