流程控制
流程:就是计算机执行代码的顺序
流程控制:对计算机代码执行的顺序进行有效的控制,只有流程控制才能实现在开发当中的业务逻辑
流程控制有顺序结构,选择结构和循环结构
顺序结构
顺序结构:是代码自上而下的执行结构,是python
默认的流程
赋值语句:基本形式:“变量=值”,同时python
支持多变量的赋值:a=b=c=5
序列赋值:
情况一:左侧的变量个数等于右侧的序列个数
xy
同时赋值:x,y=4,8
是按照次序进行赋值的x,y="ab"
得到结果x='a' y='b'
a,b
值的交换a,b=b,a
情况二:左侧的变量个数小于于右侧的序列个数
i,*j=[1,2,3]
不加*会报错 结果为i=1 j=[2,3]
选择结构
选择结构:根据某一步的判断,有选择的去执行相应的逻辑的一种结构
分支语句:if
语句:
基本格式:
if 逻辑表达式:
语句块1
elif 逻辑表达式:
语句块2
else:
语句块3
最后的else
是elif
里面的else
级联的if
语句
当逻辑表达式为真时,就会执行语句块1,否则就会执行语句块2
多分支有多个选择,else
是选配,根据实际情况来选择
0 0.0 “”[] () {}都表示假
循环结构
循环结构:在满足一定的条件下,一直重复的去执行某段代码的逻辑
while
循环
while Ture:
...
语法特点:
- 循环必须有一个初始值
- 必须有条件表达式
- 循环体内计数变量必须自增或自减,防止进入死循环
使用条件:循环次数不确定,是依靠循环条件来结束
使用目的:为了将相似或将相同的代码操作变得更加简洁,使代码可以重复利用
不会停下来的循环,我们需要离开该循环,要通过break
来实现,写程序时先写while
里面的,当需要无线循环时加上while
for
循环
基本格式:
for variable (变量) in 可迭代的集合对象:
语句块
变量
variable
的值会在列表范围内,列表有多少值,语句块就会重复多少次
for
循环可以遍历字符串,列表等等
语法特点:遍历操作,依次的取集合容器(数据源)中的每个值
如遍历列表:
for i in [1,2,3,4]:
print(i)
上面输出是列输出,如果想要同一行输出:print(i,end=' ')
列表的形成函数:range
函数
基本格式:range(start,stop,step)
计数从
start
开始,默认从0开始;到stop
结束,但是不包括stop
,step
表示步长,默认为1如:
list(range(0,5))
结果为[0,1,2,3,4]
for
循环后面可以跟else
条件自然结束,for
后面的条件不满足时,执行else
如果循环正常结束
else
后面会执行,如果有break
,else
后面就不会执行
range()
函数:range(n)
得到0......n-1的整数range(m,n)
得到m......n-1的整数range(m,n,x)
x为步长,最后一个数不大于等于n
循环结构中的两个重要的关键字: 这两个关键字只能用在循环中
break
: 退出循环,代表中断结束
continue
: 跳过本次循环,继续下一次循环(当continue
的条件满足的时候,本次循环剩下的语句将不在执行,
本次循环结束)
# 打印1-100中的奇数
for item in range(1,100):
if item % 2 == 0:
continue # 如果是偶数,continue后面的语句就不会执行了,进行下一次的循环
print(item)
在实际的应用中,while
循环和for
循环的主要应用方向可能有所区别,while
适用于对未知的循环次数
while
适用于对已知的循环次数,本质就是对可迭代对象遍历
for---else
:语法:用户登录三次出错,则显示账号被锁定
account = 'jlc'
pwd = '123'
for i in range(3):
zh = input("请输入账号:")
pd = input("请输入密码:")
if account == zh and pwd == pd:
print("登录成功!")
break # 程序中只要没有执行break,else就会被执行;如果执行了break,else就不会执行
else:
print("你的账号已经被锁定!")