8.循环语句 while
Python主要提供了两种类型的循环:for循环和while循环。循环使用的场景:跟女朋友承认错误,说一万遍:我错了
print("我错了")print("我错了")print("我错了")print("我错了")...(还有9996遍)...
i = 0while i < 10000: print("我错了") i += 1
while 条件: 条件满足时,做的事情1 条件满足时,做的事情2 条件满足时,做的事情3 ...(省略)...
总结:
while和if的用法基本类似,区别在于:if条件成立,则执行一次;while条件成立,则重复执行,直到条件不成立为止。- 一般情况下,需要多次重复执行的代码,都可以用循环的方式来完成。
- 循环不是必须要使用的,但为了提高代码的重复使用率,有经验的开发者都会采用循环。
小练习:
使用while循环计算1-100的累加和,包含1与100。
i = 1sum = 0while i <= 100: sum_ = sum + i i += 1print("1~100的累积和为:%d" % sum)
使用while循环计算1-100的偶数的累加和,包含1与100。i = 1sum = 0while i <= 100:if i % 2 == 0: sum = sum + i i += 1print("1~100之间偶数和为:%d" % sumt)
9.嵌套循环 while
嵌套循环while代码格式:
while 条件1: 条件1满足时做的事情1 条件1满足时做的事情2 条件1满足时做的事情3 ...while 条件2: 条件2满足时做的事情1 条件2满足时做的事情2 条件2满足时做的事情3 ...
小练习:
打印九九乘法表:
i = 1while i <= 9: j = 1while j <= i: print("%d*%d=%d " % (j, i, j*i), end = '') j += 1 print("\n") i += 1
** ** * ** * * ** * * * *
i = 1while i <= 5: j = 1while j <= i: print("* ", end = '') j += 1 print("\n") i += 1
注意:
while循环嵌套运行时的特点:每次外层循环执行1次,内层循环执行全部步骤while循环嵌套可以无限次的嵌套,但一般情况下不超过3层while循环嵌套- 当外层
while条件不满足时表示整个while循环嵌套结束
10.循环语句 for
概念:for可以完成循环的功能。for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
for循环代码格式:
for 临时变量 in 列表或者字符串等可迭代对象: 循环满足条件时执行的代码
for i in range(5): print(i)# 运行结果01234
range(x)当range中只有一个数字时,for循环取到的数据是0....x-1
for循环代码示例:
for i in range(1, 5): print(i)# 运行结果1234
range(x, y)当range中有两个数字时,此时for循环取到的数据是x....y-1for i in range(1, 5, 2): print(i)# 运行结果13
range(x, y, z)当range中有三个数字时,此时for循环能取到的数据是从x...y-1但是每次间隔的数据是zsum = 0# 用来存储总和for i in range(1, 101): sum += iprint("1~100的和为:%d" % sum)# 运行结果1~100的和为:5050
注意:for循环使用最多的场景是直接遍历可以迭代的对象。11.break和continue
在循环的过程中,有时可能会因为某些条件的满足或者不满足需要结束整个while,还有可能在当次循环代码执行过程中剩下的不执行了而是进行一次的循环,这种时候就需要用两个功能:
i = 0while i<5: print("我是输出") i = i+1break print(i)# 运行结果我是输出
i = 0while i < 3: i = i + 1 print('----')continue print(i)# 运行结果------------
web = 'www.baidu.com'for i in web: print(i)break# 运行结果w
web = 'www.baidu.com'for i in web: print(i)if i == 'w':continue print("我是continue语句")# 运行结果www.我是continue语句b我是continue语句a我是continue语句i我是continue语句d我是continue语句u我是continue语句.我是continue语句c我是continue语句o我是continue语句m我是continue语句
总结:
break、continue只能用在循环中,除此以外不能单独使用
break、continue在嵌套循环中,只对最近的一层循环起作用
break能够立刻结束所在的循环
continue的用来结束本次循环,紧接着执行下一次的循环
无论break放到while循环体中的任何位置,只要被执行一次,那么整个循环立刻结束
12.循环语句 else
while...else...的使用格式:
while 条件:# 条件满足时执行的代码...else:# 如果上述的while循环没有调用break,就执行的代码...
while循环体中没有执行break,那么while循环体中所有的代码执行完后,else中的代码也会执行。while循环中有break那么表示整个while结束,else中的代码也不会被执行。
有break时代码示例:
i = 1while i <= 3: print("这是一段测试代码...")if i == 1: print("调用了break")break i += 1else: print("这是else中的代码")# 运行结果这是一段测试代码...调用了break
没有break代码示例:
i = 1while i <= 3: print("这是一段测试代码...") i += 1else: print("这是else中的代码")# 运行结果这是一段测试代码...这是一段测试代码...这是一段测试代码...这是else中的代码
for...else...的使用方式:
for 变量 in 可迭代对对象:# 代码体else:# 另一代码体
使用break代码示例:
for i in range(5): print("i=%d" % i)if i == 1: print("break语句")breakelse: print("else中的代码")# 运行结果i=0i=1我是break
没有break代码示例:
for i in range(5): print("i=%d" % i)else: print("else中的代码")
注意:
- 在
while...else...与for...else...中,break会让else中的代码不执行,而continue没有这个功能