流程控制

流程控制

流程控制>>>:控制事物的执行流程
事物执行流程总共可以分为三种
1.顺序结构
从上往下依次执行 我们之前所编写的代码都属于该结构
2.分支结构
事物的执行会根据条件的不同做出不同的执行策略
3.循环结构
事物的执行会根据某个条件出现重复

顺序结构

所需材料:排骨500克,料酒1勺,生抽2勺,胡椒粉半勺,盐适量,糖1勺,淀粉2汤匙,大蒜一头,老抽1小勺。

步骤1.排骨剁成小块洗净,加入料酒,生抽,胡椒粉,盐,淀粉抓匀,腌制30分钟。

步骤2.腌制好的排骨,入油锅炸制金黄,捞出沥干油备用。

步骤3.大蒜剁成蒜末 ... ...

按照步骤做就可以了!
image

分支结构

如下 先判断富or不富 如果富 则yes,嫁,如果不富,则判断帅不帅... 依此类推!
image

循环结构

地铁每天都从早运行到晚 ,这是一个循环结构,直到满足条件:地铁下班了! 就会跳出这个循环。
image

python缩进

1. python中用缩进表示代码之间的从属关系。
    缩进的代码 称为 子代码
	
2. 并不是所有的代码都可以拥有缩进的代码.
print('hello')
    print('hello,world')  # print不能拥有子代码
if True:
    print('hello world')  # if语句可以拥有子代码print('hello world')

3.如果有多行子代码属于一个父代码,那么他们必须有相同的缩进量
if True:
    print('hello world')
		print('hi')  # 这样是不行的

4.当某一行代码需要编写子代码的时候 那么这一行代码的结尾肯定需要冒号

5.相同缩进量的代码彼此之间平起平坐 按照顺序结构依次执行

# 建议使用四个空格作为缩进量,快捷键tab
# 在pycharm中遇到父代码时,按回车会自动缩进。

分支结构

1.单if分支结构:

if 条件:
条件成立之后才会执行的代码快
ps:单if可以借助于流程图理解

username = 'oshio'
if username == 'oshio':
	print('hello')
	
'''if语句接受一个bool值,username == 'oshio'是一个表达式,表达式运算之后得到true。'''
'''因为这个值是true,所以if下的子代码会输出,如果是false,则不会执行if下的代码。

2.if else分支结构:

if...else...分支结构
	if 条件:
     	条件成立之后执行的子代码
	else:
      	条件不成立执行的子代码

3.if elif else分支结构

if...elif...else分支结构
	if 条件1:
       条件1成立之后执行的子代码
 	elif 条件2:
       条件1不成立 条件2成立执行的子代码
  	elif 条件3:
       条件1和2都不成立 条件3成立执行的子代码
   	else:
       上述条件都不成立 执行的子代码
	   get_data = input('请输入你的名字:')

    if get_data == 'jason':
        print('%s-->超级管理员' % (get_data,))
    elif get_data == 'tom':
        print('%s-->普通管理员' % (get_data,))
    elif get_data == 'jack' or get_data == 'rain':
        print('%s-->业务主管' % (get_data,))
    else:
        print('%s-->普通用户' % (get_data,))
		
'''在 if elif else分支中只有一个会执行,当if elif都不执行时,else捕获剩下的所有情况。'''

循环分支结构

就是想让一些代码反复的执行
while 条件:	
	条件成立之后执行的子代码(循环体代码)
1.先判断条件是否成立
2.如果成立则执行循环体代码
3.循环体代码执行完毕后再次回到条件判断处 判断条件是否成立
4.如果成立 则继续执行循环体代码
5.按照上述规律依次执行 直到条件不成立才会结束循环体代码的执行

count = 1
while count < 5:  # 当不满足count < 5,就不会执行下面的循环体
    print('hello world')
    count += 1

扩展

1.while else

while 条件:
    循环体代码
else:
    循环体代码没有被强制结束的情况下 执行完毕就会执行else子代码
	
break  # 强行结束循环体
	while循环体代码一旦执行到break会直接结束循环
continue  # 直接跳到条件判断处
	while循环体代码一旦执行到continue会结束本次循环 开始下一次循环
	
	
cont = 1
while cont < 3 :
    print('hello')
    cont += 1
else:
    print('hi') # hi 会输出
	
cont = 1
while cont < 3 :
    print('hello')
    break  # 循环被break强制结束了!
	else:
    print('hi') # hi 不会输出 只会输出hello
	  # for循环也可以使用 for else,用法相同

2.字符串的比较

print('9' > '100000')  # True
print('1' > '02')  # True
print('02' > '20')  # False
print('0'>'')  # True
print('9c' > 'b')  # False  # 9和b不能比较返回false
print('9c' > '1b')  # True
'''字符串比较 只看字符串的第一位 第一位是数字则比较数字大小'''

3.pass语句

pass 语句不执行任何操作。语法上需要一个语句,但程序不实际执行任何动作时,可以使用该语句。
while True:
	pass

4.python3.10支持match语句

match语句可以将一个目标值与一个或多个字面值进行比较
match status:
        case 400:  # 将status的值 和 400 比较 如果相同则输出 'Bad request'
            return "Bad request"
        case 404:
            return "Not found"
        case 418:
            return "I'm a teapot"
        case _:
            return "Something's wrong with the internet"

更多扩展关于while循环

1.死循环
	真正的死循环是一旦执行 CPU功耗会急速上升 直到系统采取紧急措施
		尽量不要让CPU长时间不间断运算
        
2.嵌套及全局标志位
	强调:一个break只能结束它所在的那一层循环
 	强调:有几个while的嵌套 想一次性结束 就应该写几个break
  	强调:如果不想反复写break 可以使用全局标志位
 	is_flag = True
   while is_flag:
        username = input('username>>>:')
        password = input('password>>>:')
        if username == 'jason' and password == '123':
            while is_flag:
                cmd = input('请输入您的指令>>>:')
                if cmd == 'q':
                    is_flag = False
                print('正在执行您的指令:%s' % cmd)
        else:
            print('用户名或密码错误')
posted @ 2022-09-27 19:35  passion2021  阅读(43)  评论(0编辑  收藏  举报