Python循环流程的学习
前言
- 循环流程:在一定的条件下一直重复的去执行某段代码的逻辑。
while 条件表达式:
一行行python语句
一行行python语句
一行行python语句
一行行python语句
…
for [] in 可迭代的集合对象
一行行python语句
一行行python语句
一行行python语句
一行行python语句
…
一、while循环
语法特点:
1.有初始值
2.条件表达式
3.变量【循环体内计数变量】的自增或自减,否则会造成死循环
使用条件:循环的次数不确定,是依靠循环条件来结束
目的:将相似或相同的代码操作更加简洁,使得代码可以重复利用。
例子1:
#输出1-100之间的数据
i=0
while i<=49:
i=i+1
print(i)
pass
#当后两行交换顺序以后
i=1
while i<=50:
print(i)
i=i+1
pass
#稍稍交换一下即可
例子2:将小游戏循环10次
import random
i=1
while i<=10:
person=int(input('请出拳:[0:石头 1:剪刀 2:布]'))
computer=random.randint(0,2)
if person==0 and computer==1:#冒号一定不能忘
print("恭喜你,你赢了")
elif person==1 and computer==2:
print("恭喜你,你赢了")
elif person==2 and computer==0:
print("恭喜你,你赢了")
elif person==computer:
print("不错,居然是平手")
else:
print("你怎么输了")
i=i+1
例子3:打印九九乘法表
row=1
while row<=9:
col=1
while col<=row:
print("%d*%d=%d"%(col,row,col*row),end=" ") #end不换行
col=col+1
print() #print()换行
row=row+1
例子4:打印直角三角形
row=1
while row<=9:
col=1
while col<=row:
print("*",end=" ") #end不换行
col=col+1
print() #print()换行
row=row+1
例子5:打印方向相反的直角三角形
row=9
while row>=1:
col=1
while col<=row:
print("*",end=" ") #end不换行
col=col+1
print() #print()换行
row=row-1 #只需要改一个row即可
例子6:打印等腰三角形
row=1
while row<=5:
i=1
while i<=5-row:
print(" ",end="")
i=i+1
j=1
while j<=2*row-1:
print("*",end="")
j=j+1
print()
row=row+1
二、for循环
1.例子
例子1:
#语法特点:遍历操作,依次的取集合容器中的每个值
#for 临时变量 in 容器:
#for的执行代码块
tags="我是一个中国人"
for item in tags:
print(item)
例子2:打印1-100的累加和
sum=0
for data in range(1,101): #是左闭右开的数据
sum=sum+data
#print(sum)这样是每一个sum都会显示
print(sum) #这样只显示一个sum
例子3:打印50-200之间的偶数。(这个地方也可以设置步长来计算,但是为了一般性,还是用for循环来做的)
for data in range(50,201):
if data%2==0:
print("%d是偶数"%data)
else:
print("%d是奇数"%data)
2.break和continue
break 和continue的区别
break:相当于中断操作,不再进行其他的操作
continue:相当于跳出本次循环,剩下的语句继续进行。
例子:(经典)
#break的使用
item="I love python"
for i in item:
if i=="e":
break
print(i)#这就相当于这个语句还在循环中
print(i)#这是不在这个循环中的语句
#continue的使用
item="I love python"
for i in item:
if i=="e":
continue
print(i)
3.for循环和while循环
注意:
while循环适用于未知的循环次数
for适用于已知的循环次数[可迭代对象遍历]
#用for循环打印99乘法表
for i in range(1,10):
for j in range(1,10):
if j<=i:
print("%d*%d=%d"%(j,i,j*i),end=" ")
continue
print() #注意1:range是(),注意2:print("%d*%d=%d"%())是这样的结构
总结
注意点1:while迭代的语句和while之间要有缩进
以上是根据B站的up主“求知讲堂”讲解所整理的
B站链接为:
https://www.bilibili.com/video/BV1vA411b7Rn?p=16
https://www.bilibili.com/video/BV1vA411b7Rn?p=17
https://www.bilibili.com/video/BV1vA411b7Rn?p=18
https://www.bilibili.com/video/BV1vA411b7Rn?p=19