python基础之流程控制(1)

时间:2023-12-19 20:11:02

一、分支结构: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:

python基础之流程控制(1)python基础之流程控制(1)
# 用户可以输入用户、密码
# 输入正确后,显示欢迎登陆
# 用户输错可以继续输入,如果输错三次,退出程序 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:

python基础之流程控制(1)python基础之流程控制(1)
# 当输错用户名或者密码时,退出本次循环
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:

python基础之流程控制(1)python基础之流程控制(1)
# 打印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("输入错误,请从新输入")