python基础之流程控制(1)
一、分支结构:if 判断
1、什么要有if 判断语句?
让计算机可以像人一样根据条件进行判断,并根据判断结果执行相应的流程。
2、基本结构
- 单分支结构
# 单分支 if 条件1: 代码1 代码2 代码3
示例1:
# 如果身高高于1.8米,就是大帅哥 hight = 1.85 if hight > 1.8: print("大帅哥就是你!")
- 双分支结构
# 双分支 if 条件1: 代码1 代码2 代码3 else: 代码1 代码2 代码3
示例2:
# 如果身高高于1.8米,就是大帅哥,否则就不是 hight = 1.75 if hight > 1.8: print("大帅哥就是你!") else: print("你不是大帅哥")
- 多分支
# 多分支 if 条件1: 代码1 代码2 代码3 elif 条件2: 代码1 代码2 代码3 else: 代码1 代码2 代码3
示例3:
# 如果身高高于1.8米,就是大帅哥, # 如果钱多于1000万,就是土豪 # 如果身高高于1.8米,钱还多于1000万,就是高富帅 # 否则啥也不是 hight = 1.85 money = 2000 if hight > 1.8 and money > 1000: print("你是高富帅!") elif money >1000: print("你是土豪") elif hight > 1.8: print("你是帅哥!") else: print("你是好人")
3、if 嵌套
示例4:
# 如果是男生,就选运动,女生就选舞蹈 # 如果男生身高大于1.8米,就选篮球 gender = "male" hight = 1.85 if gender == "male": if hight > 1.8: print("选篮球") else: print("选运动") else: print("选舞蹈")
注意!!
- 在if 判断中,以4格空格键代表代码层级关系,不可以随便缩进;同行代码自上而下依次运行;
- if 后面可以跟条件可以是任意表达式,但执行结果必须为布尔类型。所以if判断条件语句可以为隐式布尔值。
二、循环结构(1):while循环
1、为什么要有循环结构?
为了让计算机可以像人一样循环执行某件事
2、语法结构
语法: while 条件: 代码1 代码2 代码3
当while后面跟的条件语句为真的时候,while循环就会重复执行下面的代码语句,当条件语句为假的时候,循环会停止
示例1:
# 打印1-10 i = 1 while i < 11: print(i) i +=1
3、结束while循环的两种方式
- break:当while循环中出现break时,就会退出当层循环,如果有多层循环,需要一层一层的退出;
示例2:
# 用户可以输入用户、密码 # 输入正确后,显示欢迎登陆 # 用户输错可以继续输入,如果输错三次,退出程序 i = 1 while True: name = input("请输入你的用户名:") pwd = input("请输入你的密码:") if i > 2: print("今日输入超过上限,账户锁定!") break if name == "zhangdada" and pwd == "123": print("欢迎登陆!") break else: print("用户名或者密码错误!") i += 1
- 条件改为假:当满足某种条件时,将while后的条件语句改为假。需要注意的是,这种方法需要运行完本次循环,下次循环结束。
示例3:
# 当输错用户名或者密码时,退出本次循环 tag = True while tag: inp_name = input("请输入您的用户名:") inp_pwd = input("请输入您的密码:") if inp_name == "egon" and inp_pwd == "123": print("login successful") tag = False else: print("username or password error") print('======>')
当用户输错用户名或者密码后,下面的打印命令还是会执行,而不是立刻退出。
4、while + continue
continue 的作用:当循环运行到continue,调过本次循环,进入下次循环,而不是退出循环。
示例4:
# 打印1 2 3 5 6 8 9 i = 1 while i < 10: if i == 4 or i == 7: i += 1 continue print(i) i += 1
5、while + else
else下代码只有在while正常结束后才会运行,break退出的不会执行
示例5:
# 打印1-10,在打印完毕后最后一行打印特殊符号 i = 1 while i < 11: print(i) i += 1 else: print("*"*10)
三、两层while循环嵌套
""" 编写一个程序 用户可以输入用户名和密码 用户有三次机会 登录成功可以进行相应的操作 输入Q退出系统 """ name_list = ["zhangdada","wangxiaoxiao","lizhongzhong"] pwd_list = ["123","456","789"] info = ["1:存款","2:取款","3:转账","4:查询"] print("欢迎使用本系统,退出请输入Q") tag =True i = 0 while tag: name = input("请输入你的用户名:") pwd = input("请输入你的密码:") if name == "Q" or pwd == "Q": # 退出条件 tag = False break if i >= 2: # 输入次数判断 print("您今日的次数已用完,账户锁定!") break if name not in name_list or pwd not in pwd_list: # 登录逻辑 i += 1 print("用户名或者密码错误!") continue else: for i in info: # 业务逻辑展示 print("****%s*****" % i) while tag: # 业务逻辑循环 yewu = input("请输入你要办理的业务对应数字:") if yewu == "Q": # 退出条件 tag = False break if yewu == "2": print("您已取款:1000元") elif yewu == "1": print("您已存款:1000元") elif yewu == "3": print("您已转账: 3000元") elif yewu == "4": print("您的账户余额为:38028元") else: print("输入错误,请从新输入")

浙公网安备 33010602011771号