很开心,python学到循环语句了,也越来越好玩了,学到这儿,基本上也能处理一些流水线的工作了,只是稍欠装饰显得不那么灵活、复用性不高。
python中循环语句有for和while;如上图所示,循环基本都需要做点什么,因为不是需要所有数据,也会带上if条件控制一下输出。
while循环
一般句式
# 作为条件,为True才执行里面的代码块,为false则退出循环
while (condition):
print("执行语句")
复制代码
提示一下:python中没有do...while循环
while False:
print("不会被执行")
else:
print("当while条件为False时才执行")
复制代码
dig=100
sum=0
count=1
while count <=dig:
sum+=count
count+=1
print("1到{}之间的和为:{}".format(dig,sum))
# 输出结果:1到100之间的和为:5050
复制代码
代码浅析:
当然这是咱们学习之后的成果,那怎么确定结果是正确的呢?
# sum()函数接的参数必须是可迭代类型,str除外
s=sum(range(1,101))
print(s) # 输出:5050
# 后面在内置函数再介绍range函数
复制代码
for循环
这是个有点特殊的循环,因为它是for...in的组合,in是啥?咱们的成员运算符啊,其实for就是while,只不过condition换成了x in xxx:而已,所以它不能是for True却能x in xxx;思考一下:while 能不能搭配 x in xxx呢?
a="1234567"
for i in a:
print(i)
# 输出:
1
2
3
4
5
6
7
复制代码
for i in range(5):
print(i)
# 输出:
0
2
3
4
复制代码
range()函数
for i in range(1,5):
print(i)
# 输出:
1
2
3
4
复制代码
# 奇数
for i in range(1,10,2):
print(i)
# 输出:
1
3
5
7
9
复制代码
continue和break
字面意思,一个是continue继续循环,一个break是中断循环
# cmd进入python交互命令模式
>>> count=1
>>> while True:
... print(count)
... if count==4:
... print(count)
... break
... count+=1
...
1
2
3
4
4
复制代码
i=1
while i<10:
if i==3:
continue
# 不会执行后面的i+=1,i永远是3,然后就在这里无限循环
print("执行不到")
i+=1
复制代码
# cmd输入python进入交互模式:
>>> i=1
>>> while i<10:
... print(i)
... if i==3:
... i+=1
... continue
... print("执行不到的语句")
... print("当i==3,这句不执行,{}".format(i))
... i+=1
...
1
当i==3,这句不执行,1
2
当i==3,这句不执行,2
3
4
当i==3,这句不执行,4
5
当i==3,这句不执行,5
6
当i==3,这句不执行,6
7
当i==3,这句不执行,7
8
当i==3,这句不执行,8
9
当i==3,这句不执行,9
# 是不是漏掉了i==3的那句不执行!!!
复制代码
# cmd输入python进入交互模式
>>> i=1
>>> while i<10:
... print(i)
... if i==3:
... i+=1
... break
... print("执行不到的语句")
... i+=1
... print("只会执行到i==3")
... else:
... print("从上面循环中跳出,不会执行这里的代码块")
...
1
只会执行到i==3
2
只会执行到i==3
3
复制代码
pass关键字
它是空语句,什么也不干,就是占位;保持结构的完整性。
if i in range(4):
pass
# 执行什么也不会,但是它会遍历完
复制代码
思考一下:while 能不能搭配 x in xxx呢?
python超全资料库安装包学习路线项目源码免费分享