目录
控制流说明
顺序:代码从上往下执行
分支:根据不同的条件,执行不同的代码
循环:特定的代码重复执行
注意:python中通过缩进来区分代码块的。
条件判断
1. if语句
if 条件:
# 条件成立执行的代码块
示例:
# 用户输入考试成绩,请判断是否及格。
score = float(input('请输入您的成绩:'))
if score >= 60:
# 条件成立执行的代码块
print('考试及格!')
2. if - else语句
if 条件:
# 条件成立执行的代码块
else:
# 条件不成立执行的代码块
示例:
# 用户输入考试成绩,请判断是否及格。如果考试不及格,打印:考试不及格,晚上通宵敲代码!
score = float(input('请输入您的成绩:'))
if score >= 60:
# 条件成立执行的代码块
print('考试及格!')
else:
# 条件不成立执行的代码块
print('考试不及格,晚上通宵敲代码!')
3. if - elif - else语句
if 条件1:
# 条件成立执行的代码块
elif 条件2:
# 条件2成立执行的代码块
elif 条件3:
# 条件3成立执行的代码块
else:
# 以上条件均不成立执行的代码块
示例:
# 用户输入考试成绩,根据不同等级进行区分(A: 90分以上, B:80-90分, C: 60-80分, D:60分以下)
score = int(input('请输入您的成绩:'))
if 0 <= score < 60:
print('您的成绩为D!')
elif 60 <= score < 80:
print('您的成绩为C!')
elif 80 <= score < 90:
print('您的成绩为B!')
elif 90 <= score < 100:
print('您的成绩为A!')
else:
print('您输入的成绩有误!')
4. 多个条件同时判断
# 登录小案例:事先存储一组账号密码,提示用户输入账号和密码,然后判断账号密码是否输入正确
user_info = {'user': 'flora', 'pwd': '123455555Az'}
username = input('请输入账号:')
passwd = input('请输入密码:')
# 方式一:使用嵌套方式
if username == user_info['user']:
if passwd == user_info['pwd']:
print('账号密码输入正确!')
else:
print('密码输入不正确!')
else:
print('账号输入不正确!')
# 方式二:使用逻辑运算符去判断多个条件
if username == user_info['user'] and passwd == user_info['pwd']:
print('账号密码输入正确!登录成功!')
else:
print('账号或密码输入不正确!登录失败!')
总结:
使用if开启一个条件判断语句:
一个条件语句中只有一个if,但是一个条件语句中可以有多个或者一个或者零个elif;
一个条件语句中只有一个或者零个else。
if判断成立的标准:
if成立的标准是根据if后面的python表达式或者数据的布尔值是否为True来确定条件是否成立
while循环(条件循环)
1. while循环的使用
如果条件一直成立,则一直循环做条件满足的事情,直到条件不成立,结束循环。
while 条件:
# 条件成立,循环执行的代码块
# 条件成立,循环执行的代码块
# 条件成立,循环执行的代码块
# ......
示例:
# 创建一个变量来保存循环的次数
i = 0
while i < 5:
print('hello python')
i += 1 # i = i + 1
# 输出结果:
"""
hello python
hello python
hello python
hello python
hello python
"""
2. 死循环以及相关案例的使用
死循环:循环的条件一直成立,在循环体中无限循环,称之为死循环。
避免写代码的过程中因为逻辑问题,造成代码死循环。
示例:
while True:
print('hello python')
3. break强制跳出循环
死循环在特定的需求下,我们也会使用,再循环内部要实现跳出循环的机制(合理使用break)。
示例:
while True:
user_info = {'user': 'flora', 'pwd': '123455555Az'}
username = input('请输入账号:')
passwd = input('请输入密码:')
if username == user_info['user'] and passwd == user_info['pwd']:
print('账号密码输入正确!登录成功!')
break
else:
print('账号或密码输入不正确!请重新输入!')
4. 循环内嵌套条件语句
示例:
# 打印3次之后强制退出循环
i = 0
while i < 5:
print('hello python')
i += 1 # i = i + 1
# 当i=3时,退出循环
if i == 3:
break
5. continue终止本轮循环,直接进行下次循环的条件判断
# 第5-7次不打印
i = 0
while i < 10:
i += 1 # i = i + 1
# 当i在5~7之间,则执行continue终止本轮循环,进行下轮循环的条件判断
if 5 <= i <= 7:
continue
print('hello python')
for循环
1. for循环的定义
for i in xxx:
# 循环体
2. for循环遍历字符串
示例:
str1 = 'flora'
for i in str1:
print(i)
3. for循环遍历列表
示例:
# 当前有10位同学的成绩,在一个列表中,请区分成绩的等级
li = [90, 78, 56, 89, 65, 80, 74, 34, 89, 100]
for score in li:
if 0 < score < 60:
print('成绩{}:不及格'.format(score))
elif 60 <= score < 80:
print('成绩{}:及格'.format(score))
elif 80 <= score < 90:
print('成绩{}:优秀'.format(score))
else:
print('成绩{}:非常优秀'.format(score))
4. for循环遍历字典
示例:
dic1 = {'name': 'flora', 'gender': 'girl', 'age': 18}
for i in dic1.keys():
print('遍历字典的键:', i)
for i in dic1.values():
print('遍历字典的值:', i)
for i in dic1.items():
print('遍历字典的键值对:', i)
# 遍历字典键值对时,用2个变量分别保存键和值。
# for i in dic1.items():
# k, v = i
# print('遍历字典的键:', k)
# print('遍历字典的值:', v)
for k, v in dic1.items():
print('遍历字典的键:', k)
print('遍历字典的值:', v)
5. for循环中的break, continue
示例:
# 需求一:打印10遍hello python
for i in range(1, 11):
print('1: 这是第{}遍: hello python'.format(i))
# 需求二:打印到第50遍跳出循环
for i in range(1, 11):
print('2: 这是第{}遍: hello python'.format(i))
if i == 5:
break
# 需求三:第3~5遍不打印
for i in range(1, 11):
if 3 <= i <= 5:
continue
print('3:这是第{}遍: hello python'.format(i))
6. for循环中的高级语法:for -- else
for对应的else语句,只有当循环是通过break结束的时候,不会执行。其他情况下都会执行。
示例:
for i in range(10):
print('本轮遍历的数据为{}'.format(i))
else:
print('for对应的else语句')
users = [{'user': 123}, {'user': 122}, {'user': 124}]
user = input('请输入您的账号:')
for i in users:
if user == str(i['user']):
print('用户已存在!')
break
else:
print('用户不存在!')
# 缺陷:输入1111,会打印3遍:用户不存在
for i in users:
if user == str(i['user']):
print('用户已存在!')
break
else:
print('用户不存在!')