和其他的程序语言一样,python也提供了for和while两种(必须注意的是,在python中没有do..while语句)。
while循环
python编程中,while语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:
while 判断条件:
执行语句
执行语句可以使单个语句或语句块。判断条件可以使任何表达式,任何非零、或非空(null)的值均为null。
当判断条件为false时,循环结束。
(我觉得以上和java还有其他语言并没有什么不同,很容易理解)
while语句还有另外两个很重要的明林gcontinue,break来跳过循环,continue用于跳过该次循环,break则是用于退出循环,此外“判断条件”还可以是个常数,表示循环必定成立。
如果条件判断语句永远为true,循环将会无线执行下去。
循环使用else语句
在python中,while...else在循环条件为false时,执行else语句块。
#!/usr/bin/python
count = 0
while count < 5:
print count, " is less than 5"
count = count + 1
else:
print count, " is not less than 5"
简单语句组
类似if语句的语法,如果你的while循环体中只有一条语句,你可以将该语句与while写在同一行中:
#!/usr/bin/python
flag = 1
while (flag): print 'Given flag is really true!'
print "Good bye!"
for循环语句
python for循环语句可以遍历任何序列的项目,如一个列表或者一个字符串。
for循环的语法格式如下:
for 循环项:循环序列:
执行语句
这个语法也和其他语言的语法并没有什么不同……理解一下就好。
通过序列索引迭代
另一种执行循环的遍历方式是通过索引,如下例:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print '当前水果 :', fruits[index]
print "Good bye!"
以上实例我们使用了内置函数 len() 和 range(),函数 len() 返回列表的长度,即元素的个数。 range返回一个序列的数。
循环使用else语句
python中,for...else语句表示这样的意思,for中的语句和普通的没有区别,else中的语句会在循环正常执行完(即for不是通过break跳出而中断的)的情况下执行,while..else也一样。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for num in range(10,20): # 迭代 10 到 20 之间的数字
for i in range(2,num): # 根据因子迭代
if num%i == 0: # 确定第一个因子
j=num/i # 计算第二个因子
print '%d 等于 %d * %d' % (num,i,j)
break # 跳出当前循环
else: # 循环的 else 部分
print num, '是一个质数'
嵌套循环
循环可以嵌套这种事情,是个程序员就应该能想得到吧……是的,python也一样支持。