python也提供了for和while两种循环,允许在一个循环体里面嵌入另一个循环。
1. 语法
1.1 while循环
while语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务
while 判断条件:
执行语句
判断条件可以使用任何表达式,常数(表示循环永久成立);执行语句可以使用单个语句或语句块。当判断条件为false时,循环结束。还可以使用关键字continue跳过该次循环,break退出循环。
1.2 for循环
for语句可以遍历任何序列的项目,如一个列表或者一个字符串。
for 循环项 循环序列:
执行语句
1.3 通过序列索引迭代
另一种执行循环的遍历方式是通过索引。
fruits = ['banana', 'apple', 'mango']
for index in range(len(fruits)):
print('当前水果 :', fruits[index])
print('Good bye!')
函数len( )返回列表的长度,即元素的个数。函数range( )返回一个序列的数。
1.4 循环嵌套
for循环嵌套:
for iterating_var in sequence:
for iterating_var in sequence:
statements(s)
statements(s)
while循环嵌套:
while expression:
while expression:
statement(s)
statement(s)
你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环。反之,你可以在for循环中嵌入while循环。
2. 实例
使用while循环嵌套,输出2~100之间的质数。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
i = 2
while(i < 100):
j = 2
while(j <= (i/j)):
if not(I % j):
break
j = j + 1
if (j > i/j):
print(i, '是质数')
i = i + 1
print('Good bye!')
使用for循环嵌套,获取100以内的质数。
num = [ ]
i = 2
for i in range(2, 100):
j = 2
for j in range(2, i):
if(i%j == 0):
break
else:
num.append(i)
print(num)
3. 在循环中,使用else语句
for…else语句表示:for中的语句和普通的没有区别,在循环正常执行完,通过break跳出而中断,循环条件为false等3种情况下,会继续执行else中的语句,while…else语句也一样。
for i in range(2, 100): # 迭代2到100之间的数字
for j in range(2, i): # 根据因子迭代
if i%j == 0: # 确定第一个因子,循环的判断条件
num = i/j # 计算第二个因子
print('%d 等于 %d * %d' % (i, j, num))
break
else: # 循环的else部分
print(i, '是一个质数')
在循环条件为false时,while…else语句执行else块。
count = 0
while count < 5:
print(count, 'is less than 5')
count = count + 1
else:
print(count, 'is equle 5')
参考文章