【学习分享】5learn-python-the-smart-way
hydro个人主页https://hydro.ac/d/datawhale_p2s/user/44803
一、for循环
1.for循环及range的用法
1.用法示例
total = 0
for x in range(1, 5):
total += x
#total = 1+2+3+4
for 循环表示基于提供的范围,重复执行特定次数的操作
其中用到的range()函数区间左闭右开
若缺少第一个参数,默认从0开始
也添加第三个参数,第三个参数表示步数,可以是负数
total = 0
for x in range(1,6,2):
total += x
#total = 1+3+5
range(4, 0, -1)可以替换成reversed(range(1,5,1))
#注意左闭右开不是简单的翻转
range()可以看作一个数列,1到4的加法也可以不要循环,使用内置函数sum()
total = sum(range(1, 5))
2.for循环嵌套
for循环也可以嵌套,for循环中的for循环
可以通过嵌套输出分成行列的图行,金字塔等。注意,print()的默认换行
二、while 循环
1.while循环用法
当不知道循环什么时候停下来时,可以使用while循环
示例:求一个输入数字是几位数
n = int(input())
t=1
while n >= 10:
n = n // 10
t+=1
print(t)
#输入789,输出3
#输入12356。输出5
2.假·死循环
在一个死循环中加入if和break语句,使其在满足一定条件的情况下跳出循环
while True:
x = int(input())
if x == 0:
break
print(x)
#用户每次输入都会对应输出,且要求用户一直输入直到输入为0结束循环
三、break 与 continue 语句
1.break语句
跳出整个循环:一旦满足条件循环就结束
2.continue语句
跳过循环中的这一次,不进行这一次包含在循环里且在continue语句之下的操作
break和continue一起使用
for n in range(100):
if n % 3 == 0:
continue # 跳过这次循环
elif n == 8:
break # 跳出当前整个循环
else:
pass # 啥也不做,占位符(不会被运行)
print(n, end=" ")
#输出为:1 2 4 5 7
#注意:0%3=0(0可以被3整除)
四、提高程序运行效率
人工智能学习中,提升算法速度很有用,但是在提升速度前一定要保证算法正确。可以通过剪枝的操作来提高程序运行效率。例如,判断1-100之间的素数(只能被1和自身整除的正整数),进行for循环的逐一判断时,我们可以不判断偶数,即把偶数的判断剪去,对剩余的数进行判断。