Skip to content

流程控制

流程:就是计算机执行代码的顺序

流程控制:对计算机代码执行的顺序进行有效的控制,只有流程控制才能实现在开发当中的业务逻辑

流程控制有顺序结构,选择结构和循环结构


顺序结构

顺序结构:是代码自上而下的执行结构,是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语句:

基本格式:

python
if 逻辑表达式:
    语句块1
elif 逻辑表达式:
    语句块2
else:
    语句块3

最后的elseelif里面的else 级联的if语句

当逻辑表达式为真时,就会执行语句块1,否则就会执行语句块2

多分支有多个选择,else是选配,根据实际情况来选择

0 0.0 “”[] () {}都表示假


循环结构

循环结构:在满足一定的条件下,一直重复的去执行某段代码的逻辑

while循环
python
while Ture:
    ...

语法特点:

  1. 循环必须有一个初始值
  2. 必须有条件表达式
  3. 循环体内计数变量必须自增或自减,防止进入死循环

使用条件:循环次数不确定,是依靠循环条件来结束

使用目的:为了将相似或将相同的代码操作变得更加简洁,使代码可以重复利用

不会停下来的循环,我们需要离开该循环,要通过break来实现,写程序时先写while里面的,当需要无线循环时加上while

for循环

基本格式:

python
for variable (变量) in 可迭代的集合对象:    
    语句块

变量variable的值会在列表范围内,列表有多少值,语句块就会重复多少次

for循环可以遍历字符串,列表等等

语法特点:遍历操作,依次的取集合容器(数据源)中的每个值

如遍历列表:

python
for i in [1,2,3,4]:
	 print(i)

上面输出是列输出,如果想要同一行输出:print(i,end=' ')

列表的形成函数:range函数

基本格式:range(start,stop,step)

计数从start开始,默认从0开始;到stop结束,但是不包括stopstep表示步长,默认为1

如:list(range(0,5)) 结果为[0,1,2,3,4]

for 循环后面可以跟else 条件自然结束,for后面的条件不满足时,执行else

如果循环正常结束else后面会执行,如果有breakelse后面就不会执行

  • range()函数:
  • range(n) 得到0......n-1的整数
  • range(m,n) 得到m......n-1的整数
  • range(m,n,x) x为步长,最后一个数不大于等于n

循环结构中的两个重要的关键字: 这两个关键字只能用在循环中

break: 退出循环,代表中断结束

continue: 跳过本次循环,继续下一次循环(当continue的条件满足的时候,本次循环剩下的语句将不在执行,

本次循环结束)

python
# 打印1-100中的奇数
for item in range(1,100):
    if item % 2 == 0:
        continue   # 如果是偶数,continue后面的语句就不会执行了,进行下一次的循环
    print(item)

在实际的应用中,while循环和for循环的主要应用方向可能有所区别,while适用于对未知的循环次数

while适用于对已知的循环次数,本质就是对可迭代对象遍历

for---else:语法:用户登录三次出错,则显示账号被锁定

python
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("你的账号已经被锁定!")

Released under the MIT License.