Python学习笔记(二):循环

来源:互联网 发布:php 明天时间戳 编辑:程序博客网 时间:2024/06/05 01:11

http://www.w3cschool.cc/python/python-while-loop.html


1、Python While循环语句

Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

while 判断条件:    执行语句……

执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。

当判断条件假false时,循环结束。

执行流程图如下:

python_while_loop

实例:

#!/usr/bin/pythoncount = 0while (count < 9):   print 'The count is:', count   count = count + 1print "Good bye!"

以上代码执行输出结果:

The count is: 0The count is: 1The count is: 2The count is: 3The count is: 4The count is: 5The count is: 6The count is: 7The count is: 8Good bye!

while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立,具体用法如下:

# continue 和 break 用法i = 1while i < 10:       i += 1    if i%2 > 0:     # 非双数时跳过输出        continue    print i         # 输出双数2、4、6、8、10i = 1while 1:            # 循环条件为1必定成立    print i         # 输出1~10    i += 1    if i > 10:     # 当i大于10时跳出循环        break 


无限循环

如果条件判断语句永远为 true,循环将会无限的执行下去,如下实例:

#!/usr/bin/pythonvar = 1while var == 1 :  # 该条件永远为true,循环将无限执行下去   num = raw_input("Enter a number  :")   print "You entered: ", numprint "Good bye!"

以上实例输出结果:

Enter a number  :20You entered:  20Enter a number  :29You entered:  29Enter a number  :3You entered:  3Enter a number between :Traceback (most recent call last):  File "test.py", line 5, in <module>    num = raw_input("Enter a number :")KeyboardInterrupt

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



循环使用 else 语句

在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

#!/usr/bin/pythoncount = 0while count < 5:   print count, " is  less than 5"   count = count + 1else:   print count, " is not less than 5"

以上实例输出结果为:

0 is less than 51 is less than 52 is less than 53 is less than 54 is less than 55 is not less than 5


简单语句组

类似if语句的语法,如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行中, 如下所示:

#!/usr/bin/pythonflag = 1while (flag): print 'Given flag is really true!'print "Good bye!"

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


2、Python for 循环语句

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

语法:

for循环的语法格式如下:

for iterating_var in sequence:   statements(s)

流程图:

python_for_loop

实例:

#!/usr/bin/pythonfor letter in 'Python':     # First Example   print 'Current Letter :', letterfruits = ['banana', 'apple',  'mango']for fruit in fruits:        # Second Example   print 'Current fruit :', fruitprint "Good bye!"

以上实例输出结果:

Current Letter : PCurrent Letter : yCurrent Letter : tCurrent Letter : hCurrent Letter : oCurrent Letter : nCurrent fruit : bananaCurrent fruit : appleCurrent fruit : mangoGood bye!


通过序列索引迭代

另外一种执行循环的遍历方式是通过索引,如下实例:

#!/usr/bin/pythonfruits = ['banana', 'apple',  'mango']for index in range(len(fruits)):   print 'Current fruit :', fruits[index]print "Good bye!"

以上实例输出结果:

Current fruit : bananaCurrent fruit : appleCurrent fruit : mangoGood bye!

以上实例我们使用了内置函数 len() 和 range(),函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数。



循环使用 else 语句

在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

如下实例:

#!/usr/bin/pythonfor num in range(10,20):  #to iterate between 10 to 20   for i in range(2,num): #to iterate on the factors of the number      if num%i == 0:      #to determine the first factor         j=num/i          #to calculate the second factor         print '%d equals %d * %d' % (num,i,j)         break #to move to the next number, the #first FOR   else:                  # else part of the loop      print num, 'is a prime number'

以上实例输出结果:

10 equals 2 * 511 is a prime number12 equals 2 * 613 is a prime number14 equals 2 * 715 equals 3 * 516 equals 2 * 817 is a prime number18 equals 2 * 919 is a prime number


3、Python 循环嵌套

Python 语言允许在一个循环体里面嵌入另一个循环。

Python for 循环嵌套语法:

for iterating_var in sequence:   for iterating_var in sequence:      statements(s)   statements(s)

Python while 循环嵌套语法:

while expression:   while expression:      statement(s)   statement(s)

你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环, 反之,你可以在for循环中嵌入while循环。

实例:

以下实例使用了嵌套循环输出2~100之间的素数:

#!/usr/bin/pythoni = 2while(i < 100):   j = 2   while(j <= (i/j)):      if not(i%j): break      j = j + 1   if (j > i/j) : print i, " 是素数"   i = i + 1print "Good bye!"

以上实例输出结果:

2 是素数3 是素数5 是素数7 是素数11 是素数13 是素数17 是素数19 是素数23 是素数29 是素数31 是素数37 是素数41 是素数43 是素数47 是素数53 是素数59 是素数61 是素数67 是素数71 是素数73 是素数79 是素数83 是素数89 是素数97 是素数Good bye!


4、Python break 语句

Python break语句,就像在C语言中,打破了最小封闭for或while循环。

break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。

break语句用在while和for循环中。

如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码。

Python语言 break 语句语法:

break

流程图:

cpp_break_statement

实例:

#!/usr/bin/pythonfor letter in 'Python':     # First Example   if letter == 'h':      break   print 'Current Letter :', letter  var = 10                    # Second Examplewhile var > 0:                 print 'Current variable value :', var   var = var -1   if var == 5:      breakprint "Good bye!"

以上实例执行结果:

Current Letter : PCurrent Letter : yCurrent Letter : tCurrent variable value : 10Current variable value : 9Current variable value : 8Current variable value : 7Current variable value : 6Good bye!

5、Python continue 语句

Python continue 语句跳出本次循环,而break跳出整个循环。

continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。

continue语句用在while和for循环中。

Python 语言 continue 语句语法格式如下:

continue

流程图:

cpp_continue_statement

实例:

#!/usr/bin/pythonfor letter in 'Python':     # First Example   if letter == 'h':      continue   print 'Current Letter :', lettervar = 10                    # Second Examplewhile var > 0:                 var = var -1   if var == 5:      continue   print 'Current variable value :', varprint "Good bye!"

以上实例执行结果:

Current Letter : PCurrent Letter : yCurrent Letter : tCurrent Letter : oCurrent Letter : nCurrent variable value : 9Current variable value : 8Current variable value : 7Current variable value : 6Current variable value : 4Current variable value : 3Current variable value : 2Current variable value : 1Current variable value : 0Good bye!


0 0
原创粉丝点击