Python基础06 循环
2017-08-19 10:43
393 查看
作者:玉树【林】风
转自:http://techlin.cn
欢迎转载,也请保留这段声明。
如果我们想要计算0~100之和,我们只需要简单的使用循环结构写几行代码即可求出结果,不需要写100行加法命令。
输出为
上面的4行代码完成了从0~100的求和运算。
第3行使用了for循环结构,格式为 for 元素 in 集合 :。在这里,我们使用了range函数,这个函数返回了正整数1~100的集合。
range的使用方法如下:
print(range(10)) # 返回{ x | x∈Z, x∈[0, 10) },即0~9的整数集合
print(range(3, 10)) # 返回{ x | x∈Z, x∈[3, 10) },即3~9的整数集合
print(range(3, 10, 2)) # 返回{ x | x∈Z, 3≤x<10, x % 2 = 1 },即从3开始,间隔为2,并且小于10的整数集合
在第1次循环开始时,i取值为range集合的第1个元素并进入循环体,在第4行中对变量sum进行加赋值操作,之后代码回到第3行,i取值为range集合的第2个元素。以此类推,直到取完range集合的最后一个元素,代码跳出循环,运行循环体外第6行的输出操作。
for循环运行的次数与集合元素数量保持一致。
i = 1
sum = 0
while i <= 100:
sum += i
i += 1
print(sum)
上面的代码同样完成了从0~100的求和运算。
while循环的语法结构为 while 条件 : ,条件为True时进入循环体,直到条件为False时跳出循环。
这里我们注意到,使用while进行累加操作时,我们除了需要定义用来保存结果的变量sum外,我们还需要定义一个游标变量i,并且在循环体中对i进行加赋值操作,如果删除第5行代码,程序将进入死循环。死循环会无休止的运行下去,耗费大量的系统性能。因此当我们使用while循环时,一定要注意死循环问题。
例如:我们要从一个列表([6, 9, 4, 3, 7, 11])中找到第一个小于5的数字,并返回这个数字在列表中的位置。
上面的例子要求我们返回列表中第一个小于5的元素的位置。通过观察我们发现,小于5的元素出现在列表中的第3位,列表的元素一共6个,如果全部循环完毕需要进行6轮循环。假如我们的列表元素个数为10000条,那么我们需要循环10000次,但是在第3次循环时我们就已经得到结果了,之后的循环没有任何意义。在这种情况下,我们可以使用break来跳出循环。
# For循环写法
list = [6, 9, 4, 3, 7, 11]
index = 1 # 小于5的数字所在的位置
for num in list :
if num < 5 :
break
else :
index += 1
if index > len(list) :
print('列表中没有小于5的数字')
else :
print('列表中第一个小于5的数字在第%d位' % index)
在这里我们使用了Python提供的len函数,len函数需要一个集合作为输入参数,返回集合中元素的数量。
结果均为
例如:我们要从一个列表([6, 9, 4, 3, 7, 11])中找到所有小于5的数字,并返回这些数字之和。
# For循环写法
list = [6, 9, 4, 3, 7, 11]
sum = 0 # 小于5的数字之和
for num in list :
if num >= 5 :
continue
sum += num
print('数组中小于5的数字之和为%d' % sum)
掌握了break和continue的使用场景。
转自:http://techlin.cn
欢迎转载,也请保留这段声明。
循环结构在编程中的意义
循环结构可以帮助我们优雅的完成重复性劳动,不必为了一些规律性的重复工作耗费过多的精力。如果我们想要计算0~100之和,我们只需要简单的使用循环结构写几行代码即可求出结果,不需要写100行加法命令。
for循环
Python中的循环可以分为for循环和while循环两种,我们先来看一下for循环的用法。sum = 0 for i in range(1, 100 + 1): sum += i print(sum)
输出为
5050
上面的4行代码完成了从0~100的求和运算。
第3行使用了for循环结构,格式为 for 元素 in 集合 :。在这里,我们使用了range函数,这个函数返回了正整数1~100的集合。
range的使用方法如下:
print(range(10)) # 返回{ x | x∈Z, x∈[0, 10) },即0~9的整数集合
print(range(3, 10)) # 返回{ x | x∈Z, x∈[3, 10) },即3~9的整数集合
print(range(3, 10, 2)) # 返回{ x | x∈Z, 3≤x<10, x % 2 = 1 },即从3开始,间隔为2,并且小于10的整数集合
在第1次循环开始时,i取值为range集合的第1个元素并进入循环体,在第4行中对变量sum进行加赋值操作,之后代码回到第3行,i取值为range集合的第2个元素。以此类推,直到取完range集合的最后一个元素,代码跳出循环,运行循环体外第6行的输出操作。
for循环运行的次数与集合元素数量保持一致。
while循环
和for循环的方式不同,while循环是通过条件来控制循环的。i = 1
sum = 0
while i <= 100:
sum += i
i += 1
print(sum)
上面的代码同样完成了从0~100的求和运算。
while循环的语法结构为 while 条件 : ,条件为True时进入循环体,直到条件为False时跳出循环。
这里我们注意到,使用while进行累加操作时,我们除了需要定义用来保存结果的变量sum外,我们还需要定义一个游标变量i,并且在循环体中对i进行加赋值操作,如果删除第5行代码,程序将进入死循环。死循环会无休止的运行下去,耗费大量的系统性能。因此当我们使用while循环时,一定要注意死循环问题。
break & continue 的使用
break可以跳出当前正在进行的循环。例如:我们要从一个列表([6, 9, 4, 3, 7, 11])中找到第一个小于5的数字,并返回这个数字在列表中的位置。
上面的例子要求我们返回列表中第一个小于5的元素的位置。通过观察我们发现,小于5的元素出现在列表中的第3位,列表的元素一共6个,如果全部循环完毕需要进行6轮循环。假如我们的列表元素个数为10000条,那么我们需要循环10000次,但是在第3次循环时我们就已经得到结果了,之后的循环没有任何意义。在这种情况下,我们可以使用break来跳出循环。
# For循环写法
list = [6, 9, 4, 3, 7, 11]
index = 1 # 小于5的数字所在的位置
for num in list :
if num < 5 :
break
else :
index += 1
if index > len(list) :
print('列表中没有小于5的数字')
else :
print('列表中第一个小于5的数字在第%d位' % index)
# While循环写法 list = [6, 9, 4, 3, 7, 11] index = 1 # 小于5的数字所在的位置 while index <= len(list) : num = list[index - 1] if num < 5 : break else : index += 1 if index > len(list) : print('列表中没有小于5的数字') else : print('列表中第一个小于5的数字在第%d位' % index)
在这里我们使用了Python提供的len函数,len函数需要一个集合作为输入参数,返回集合中元素的数量。
结果均为
列表中第一个小于5的数字在第3位
continue可以忽略循环体中在其之后的代码,直接进入下一轮循环。
例如:我们要从一个列表([6, 9, 4, 3, 7, 11])中找到所有小于5的数字,并返回这些数字之和。
# For循环写法
list = [6, 9, 4, 3, 7, 11]
sum = 0 # 小于5的数字之和
for num in list :
if num >= 5 :
continue
sum += num
print('数组中小于5的数字之和为%d' % sum)
# While循环写法 list = [6, 9, 4, 3, 7, 11] index = 0 sum = 0 # 小于5的数字之和 while index < len(list) : num = list[index] index += 1 if num >= 5 : continue sum += num print('数组中小于5的数字之和为%d' % sum)输出为
数组中小于5的数字之和为7
总结
今天我们学习了for循环和while循环。掌握了break和continue的使用场景。
相关文章推荐
- Python基础06 循环
- python基础-06-条件判断、循环语句
- Python基础06 循环
- Python基础06 循环for while 中断循环
- Python基础06 循环
- Python基础:06条件和循环
- Python基础06 循环
- Python基础06 循环
- Python基础06 循环
- Python基础06 循环
- Python基础06 循环
- Python基础06 循环
- Python基础06 循环
- python基础06 循环
- Python基础06 循环
- Python基础06 循环
- Python基础06 循环
- Python基础06 循环
- Python基础06 循环
- Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 7. 条件循环