流程控制即控制流程
if语句
什么是if?
主要是用于判断事务的对错,真假,是否可行
编程的主要目的就是让机器帮助人类工作
首先机器需要判断能力
Python是通过缩进来决定代码的贵神速
pep8:
缩进一定是四个空格
tab
用if关键字来实现分支结构,完整语法如下
if 条件1: # 如果条件1的结果为True,就依次执行:代码1、代码2,...... 代码1 代码2 ...... elif 条件2: # 如果条件2的结果为True,就依次执行:代码3、代码4,...... 代码3 代码4 ...... elif 条件3: # 如果条件3的结果为True,就依次执行:代码5、代码6,...... 代码5 代码6 ...... else: # 其它情况,就依次执行:代码7、代码8,...... 代码7 代码8 ......
# 注意:
# 1、python用相同缩进(4个空格表示一个缩进)来标识一组代码块,同一组代码会自上而下依次运行
# 2、条件可以是任意表达式,但执行结果必须为布尔类型
# 在if判断中所有的数据类型也都会自动转换成布尔类型
# 2.1、None,0,空(空字符串,空列表,空字典等)三种情况下转换成的布尔值为False
# 2.2、其余均为True
案例1:
如果性别是女,年龄>18并且<24岁并且是漂亮的,那么:小姐姐,价格微信,否则:认识一下
if gender == 'female' and 24 > age > 18 and is_beautiful: print("小姐姐,给个微信") else: print("认识一下")
案列2:
如果:成绩>=90,那么:优秀
如果成绩>=80且<90,那么:良好
如果成绩>=70且<80,那么:普通
其他情况:很差
score=input('>>: ') score=int(score) if score >= 90: print('优秀') elif score >= 80: print('良好') elif score >= 70: print('普通') else: print('很差')
if 嵌套:
# 在表白的基础上继续: # 如果表白成功,那么:在一起 # 否则:打印。。。 gender = 'female' age = 20 is_beautiful = True is_success = True if gender == 'female' and 24 > age > 18 and is_beautiful: print("小姐姐,给个微信") if is_success: print("在一起") else: print('滚') # 在这个流程控制语句中可以加n多个elif elif gender == 'female' and 30 > age > 18 and is_beautiful: print("认识一下") else: # 条件不成立将要执行的代码块 print('打扰了')
补充: 可以当做False来使用的: 0 None "" [] {}
while语句:
语法结构:
while 条件: 条件成立将要循环的代码块 # continue:跳过本次循环,执行下一次循环 ***** # continue下面不管有多少行代码,都不会执行 # break:结束本层循环,单纯指代当前while ***** # 只能结束一层循环 # 死循环 count = 0 while True: print(count) count+=1 while+嵌套: from_db_password = '123' count = 0 tag = True while tag: username = input("please input your username>>:") password = input("please input your password>>:") if username == from_db_username and password == from_db_password: print('登录成功') while tag: cmd = input(">>>:") if cmd == 'exit': tag = '' else: print(f"执行{cmd}指令") else: print("登录失败") count += 1 if count == 3: print('锁定账户') tag = 0
for语句:
# for:给我们提供了一种不依赖于索引的取值方式 语法结构: for 变量 in 容器类型: # 容器对象中有几个值,他就循环几次 字典对象,直接访问无法访问值value for + continue for + break for + else # for循环正常执行结束,就会执行else对应的代码块 # 非正常结束,例如break打断,就不会执行
for循环的嵌套:
for i in range(1,10): for j in range(1,i+1): print(f"{i}x{j}={i*j}",end="") print()