DAY 6
Chapter 5 循环 Loop
FOR 循环和循环范围
FOR 循环的特点
基于提供的范围,重复执行特定次数的操作
range(x, y)是左闭右开区间,包含x,不包含y,从m到n遍历赋值给x
如果省略第一个参数会发生什么?
默认起点是0
那如果添加第三个参数呢?
第三个参数代表步长,step
反转函数 for i in reversed(range(0,10,1))
FOR循环的嵌套
例如螺旋矩阵
While 循环
当你不知道循环什么时候停下来的时候,为什么不试试 while
Bad Style : 在知道循环范围的情况下使用while
例如:
1 def sumToN(n):
2 #尽管它能正常运行,但是这是非常不推荐的做法!
3 #应该使用 for 循环而不是 while 循环
4 total = 0
5 counter = 1
6 while counter <= n:
7 total += counter
8 counter += 1
9 return total
python的代码应该是符合人类逻辑的
break 和 continue 语句
例如:
1 for n in range(200):
2 if n % 3 == 0:
3 continue #跳过这次循环
4 elif n == 8:
5 break #跳出当前整个循环
6 else:
7 pass #啥也不做,占位符(不会被运行)
8 print(n, end=" ")
下划线是黑洞,什么都能吸进去
假--死循环
与环境交互后,在特定条件下终止的循环
while True:
......
......
if ......
break
判断质数
1 def isPrime(n):
2 if n < 2:
3 return False
4 for factor in range(2, n):
5 if n % factor == 0:
6 return False
7 return True
更快的:(减脂)(更少的循环次数)
1 def fasterIsPrime(n):
2 if n < 2:
3 return False
4 if n == 2:
5 return True
6 if n % 2 == 0:
7 return False
8 maxFactor = round(n**0.5)
9 for factor in range(3, maxfactor+1, 2):
10 if n % factor == 0:
11 return False
12 return True
总结
-
For 循环用于指定范围的重复操作
-
range()可以生成一个数字范围
-
在不知道循环什么时间停止的时候,应该试试while循环
-
循环同样也是可以嵌套的
-
巧妙地使用 break 和 continue 语句
-
合理的剪枝,缩小搜索范围/循环范围,可以大幅度提高程序运行效率
-

浙公网安备 33010602011771号