流程控制

什么是流程控制?

流程控制是指通过编程语言中的关键字控制程序的执行过程

按照执行流程划分为三大类

  • 顺序结构:

         就是让程序按照从头到尾的顺序依次执行每一条 Python 代码,不重复执行任何代码,也不跳过任何代码。

if循环语句用法 java if循环结构_缩进

 

 

 

 

  • 分支结构:

        也称为选择结构,就是让程序“拐弯”,根据某些条件的判断,有选择性的执行代码;换句话说,可以跳过没用的代码,只执行有用的代码。

if循环语句用法 java if循环结构_缩进_02

 

 

 

  • 循环结构:

 

         通俗的解释可以把循环结构比作流水线上的操作工,根据某些条件的判断循环反复的做相同的事情(不可能一直循环 应该有一个循环结束的条件)

         在代码层面上其实就是让一些代码反反复复的执行,进行循环运行

 

 

if循环语句用法 java if循环结构_分支结构_03

 

 

重点内容,必知必会

  • 在python中我们用缩进代码来表示代码的从属关系。用 关键字 if 来进行判断,是否执行由 if判断决定。如果表达式成立(真),就执行后面的代码;如果表达式不成立(假),就什么也不执行。
  • 缩进的代码有一个别称,被称之为某某代码的子代码

 

  • 目前只有 if  else 这两个代码拥有子代码
  • 如果多行代码属于同一个父代码 那么这多行代码需要保证相同的缩进
  • 在python中推荐使用四个空格来表示缩进(四个好看一些)
  • 具有相同缩进量的代码彼此之间按照顺序结构执行 没有从属关系 平起平坐
  • ps:如果一行代码的结尾是冒号结束 那么紧挨着的下一行必缩进
    冒号的含义相当于接下来会拥有子代码
  • if、elif、else 语句的最后都有冒号:,不要忘记

 

 

 

 

分支结构之 单if 

语法结构:

条件成立之后执行的子代码(可以有多行)

age = int( input("请输入你的年龄:") )
if age < 18 :
    print("你还未成年,建议在家人陪同下使用该软件!")
    print("如果你已经得到了家长的同意,请忽略以上提示。")

#该语句不属于if的代码块
print("欢迎你使用该软件")

  运行结果1:

请输入你的年龄:16你还未成年,建议在家人陪同下使用该软件!如果你已经得到了家长的同意,请忽略以上提示。欢迎你使用该软件

  运行结果2:

请输入你的年龄:26
欢迎你使用该软件

  从运行结果可以看出,如果输入的年龄小于 18,就执行 if 后面的语句块;如果输入的年龄大于等于 18,就不执行 if 后面的语句块。这里的语句块就是缩进四个空格的两个 print() 语句。需要强调的是,Python 是一门非常独特的编程语言,它通过缩进来识别代码块,具有相同缩进量的若干行代码属于同一个代码块,所以你不能胡乱缩进,这样很容易导致语法错误。

 

分支结构之 if与else 

语法结构
if 条件:
条件成立之后执行的子代码(可以有多行)
else:
条件不成立执行的子代码(可以有多行)

如果使用者年龄大于18 可以使用该软件 否则就不能使用该软件
    age = 16
    if age > 18:
        print('欢迎该软件')
    else:
        print('抱歉未成年不能使用该软件')

  if与elif与else分支

语法结构

if 条件1:
条件1成立执行的子代码(可以有多行)

elif 条件2:
条件1不成立条件2成立执行的子代码(可以有多行)

elif 条件3:
条件1和2都不成立 条件3成立执行的子代码(可以有多行)

else:
上述所有的条件都不成立执行的子代码(可以有多行)

中间的elif可以有多个

如果用户名是amy则打印CEO 如果是linda则打印主管
    # 如果是anna则打印财务 如果是其他用户则打印普通员工
    username = input('username>>>:')
    if username == 'amy':
        print('CEO')
    elif username == 'linda':
        print('主管')
    elif username == 'anna':
        print("财务")
    else:
        print('普通员工')

 

如果if的条件不满足,就按顺序看是否满足elif的条件,如果不满足elif的条件,就执行else的命令。

如果  if   elif   else一起结合使用,只要一个条件成立,就会走对应的分支,后面的分支就不会走了,也不会往回走。

if的嵌套

python中要在if语句中嵌套if的话,那么被嵌套的那个if需要放到嵌套if语句的代码块中。

# 打印出列表中小于50并且大于20的数

a = [12, 54, 61, 32, 14, 26, 55, 22, 23]
for i in a:
    if i < 50:
        if i > 20:
            print(i)

  

分支结构练习题

# 1.编写一个用户登录程序
# 如果用户名是jason并且密码是123 则打印登录成功
# 如果不是则打印用户名或密码错误
"""
前期写程序可以先用注释编写思路 之后再写对应的代码
相当于将中文翻译成python代码而已
"""

# 1.获取用户的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 2.校验/判断用户名和密码是否正确
if username == 'jason' and password == '123':
print('欢迎老板光临')
else:
print('没钱滚蛋!!!')

# 2.编写一个成绩评判系统
# 如果成绩大于90 则打印优秀
# 如果成绩大于80 则打印良好
# 如果成绩大于70 则打印一般
# 如果成绩大于60 则打印及格
# 如果成绩小于60 则打印挂科

# 1.先获取学生的成绩
score = input('score>>>:')
score = int(score) # 将字符串的成绩转成整型的成绩(先忽略)
# 2.罗列对应的条件
if score > 90:
print('优秀')
elif score > 80:
print('良好')
elif score > 70:
print('一般')
elif score > 60:
print('及格')
else:
print('挂科')

循环结构

 while循环

语法结构
while 条件:
条件成立之后执行的循环体代码

1.先判断条件是否成立 如果成立则执行循环体代码

2.循环体代码执行完毕后 再次判断条件是否成立 如果成立则继续执行循环体代码 如果不成立则跳出循环

while True:

# 1.获取用户的用户名和密码
username = input('username>>>:')
password = input('password>>>:')
# 2.校验/判断用户名和密码是否正确
if username == 'amy' and password == '121':
print('登录成功')
else:
print('用户名或密码错误')

  

while + break:

break是用于直接结束本层循环

while True:
            # 1.获取用户的用户名和密码
            username = input('username>>>:')
            password = input('password>>>:')
            # 2.校验/判断用户名和密码是否正确
            if username == 'amy' and password == '121':
                print('登录成功')
                break  # 结束本层循环
            else:
                print('用户名或密码错误')

        print('今天真有意思!!!')
# while + continue
	continu是用于结束本次循环 直接开始下一次循环
    	count = 1
        while count < 11:
            if count == 4:
                count += 1
                continue  # 结束本次循环 开始下一次循环
                '''直接跳到条件判断的地方重新执行'''
            print(count)
            count += 1

  

debug模式 :可以将瞬间执行完成的代码变成分步执行