
上集回顾:
- for循环语句
- range()函数
- range() 、len()天仙配
上集学习了for循环语句的相关知识,这集就温故知新加学以致用。
一、for循环计算1到100的和
没有掌握循环语句之前,想计算1到100的和可能需要1+2+3+。。。+100,如果计算到1000、10000不知道要计算多久!学了循环语句之后这就是非常轻松的事了。先复习一下while循环语句,看看while循环版本的:
>>> total = 0
>>> i = 1
>>> while i <= 100 :
... total += i
... i += 1
...
>>> print(total)
5050
然后是for循环版本:
>>> total = 0
>>> for i in range(101) :
... total += i
...
>>> print(total)
5050
二、for循环乘法口诀表
while循环版本求和与for循环版本求和差别好像不大,再用for循环实现一下乘法口诀表试试:
>>> for i in range(1, 10) :
... for j in range(1, i+1) :
... print(str(j) + "X" + str(i) + "=" + str(j * i), end = " ")
... print()
...
1X1=1
1X2=2 2X2=4
1X3=3 2X3=6 3X3=9
1X4=4 2X4=8 3X4=12 4X4=16
1X5=5 2X5=10 3X5=15 4X5=20 5X5=25
1X6=6 2X6=12 3X6=18 4X6=24 5X6=30 6X6=36
1X7=7 2X7=14 3X7=21 4X7=28 5X7=35 6X7=42 7X7=49
1X8=8 2X8=16 3X8=24 4X8=32 5X8=40 6X8=48 7X8=56 8X8=64
1X9=9 2X9=18 3X9=27 4X9=36 5X9=45 6X9=54 7X9=63 8X9=72 9X9=81

对比下while版本的乘法口诀表,for循环语句版本的乘法口诀表貌似简单了许多,主要是不用考虑数值的自增!
三、continue语句
循环语句代码块中,有时候执行了一部分不需要继续执行后面的代码,而想要进入下一次循环,这时候就可以使用continue语句。continue语句表示结束当前这次迭代继续执行循环的下一次迭代:
>>> for num in range(2, 10) :
... if num % 2 == 0:
... print("发现一个偶数:", num)
... continue
... print("发现一个奇数:", num)
...
发现一个偶数: 2
发现一个奇数: 3
发现一个偶数: 4
发现一个奇数: 5
发现一个偶数: 6
发现一个奇数: 7
发现一个偶数: 8
发现一个奇数: 9
四、break语句和else语句
break语句用于跳出最近的for
或 while
循环。循环语句也支持 else
子句;for
循环中可迭代对象中的元素全部循环完毕,或 while
循环的条件为假时,执行该子句;break语句终止循环时,不执行该子句。 请看下面这个查找素数的循环示例:
>>> for n in range(2, 10):
... for x in range(2, n) :
... if n % x == 0:
... print(n, '=', x, '*', n // x)
... break
... else:
... print(n, '是素数')
...
2 是素数
3 是素数
4 = 2 * 2
5 是素数
6 = 2 * 3
7 是素数
8 = 2 * 4
9 = 3 * 3
没错,这段代码就是这么写。仔细看:else
子句属于 for
循环,不属于 if
语句。
本集技能总结:
- for循环语句求和
- for循环语句乘法口诀表
- continue语句
- break语句和else语句
下集见
网友评论