Python流程控制基础详解
基础流程控制
(一) 条件控制
if语句
每条if语句的核心都是一个值为True 或 False 的表达式,这种表达式称为条件测试。
Python根据条件测试的值是True
还是 Flase
来决定是否执行 if 语句中的代码。如果条件测试为 True ,Python 就执行紧跟在 if 语句后的代码 ;如果为False,python就忽略这些代码。
检查是否相等
相等运算符( == )
不等运算符( != )
检查多个条件
1.使用 and 检查多个条件:
要检查两个条件是否都为True,可使用关键字and将两个条件测试合而为一。如果每个条件测试都通过了,整个表达式就为True;如果至少一个条件测试没通过,整个表达式就为 False.
2.使用 or
检查多个条件:
关键字 or 也能够让你检查多个条件,但只要满足其中一个条件,就能通过整个条件测试。当且仅当所有条件测试都没通过时,使用 or 的表达式才为 False
检查特定的值是否在列表中
在:in
不在: not in
1.1 if 语句
简单的If 语句只有一个条件测试和一个操作
if conditional_test
do something
1.2 if else 语句
条件测试没有通过时执行另一个操作
如果满足条件的话就执行if,如果不满足就执行else下面的代码
if 条件判断:
代码
else:
代码
age = int(input('请问你的年龄是多少'))
if age>=18:
print('满足条件时执行')
else:
print('不满足条件时执行')
1.3 多分支结构 if …elif… else
(仅适用于只有一个条件满足的情况下)
elif 可以是多个
if 条件:
代码
elif 条件:
代码
elif 条件:
代码
else:
代码
合理使用 if 语句(如果只想运行一个代码块,就用 if …elif… else语句;如果要运行多个代码块,就使用一系列独立的 if 语句
如需要判断多个条件的结果等
1.4 pass 语句
pass是一个空语句,用来占位置
当还没想好运行什么语句时用pass进行占位。
bmi = float(input())
if bmi<=18.4:
pass
elif bmi>=18.5 and bmi<=23.9:
print('标准体重')
elif bmi>=24.0 and bmi<=27.9:
print('微胖')
else:
print('肥胖')
1.5 检查特殊元素
1.6 确定列表非空
# if 列表名:
# print("如果列表非空执行")
# else::
# print("如果列表为空执行")
(二) 循环结构
环:做重复的事情
作用:避免代码冗余
2.1 while循环
当满足条件的时候一直执行,直到不满足就停止。
while 条件(截止循环的条件):
代码语句
循环条件的更新
a = 1
while a<=10:
print(f'第{a}次')
a += 1
死循环,无限循环
while 1(True):
print(f'这是第{n}次打印')
n+=1
n = 86
while True:
a = int(input('请输入一个整数输'))
if a>n:
print('你猜大了')
elif a == n:
print('你猜对了')
else:
print('你猜小了')
2.2 for循序(遍历)
for循环就是对循环的条件进行遍历。
遍历:把每个节点都访问一遍,一条线依次访问。h e l l o
for 变量名 in 可迭代对象:
代码语句
# for循环循环次数取决于对象的节点
# for后面的变量名是可以不用赋值直接写
# 可迭代对象包含:列表,元组,集合,字典,字符串,文件和生成器。
# 遍历字典时得到的是键,通过键取值的方式可以打印键对应的值
ls1 = [1,2,3,4,5,6]
ls2 = (1,2,3,4,5,6)
ls3 = {1,2,3,4,5,6}
ls4 = {1:2,3:4,5:6}
for i in ls1:
print(i)
for i in ls2:
print(i)
for i in ls3:
print(i)
for i in ls4:
print(i)
print(ls[i])
ls4 = {1:'h',2:'e',3:'f'}
for i in ls4:
print(i)
print(ls4[i])
2.3 扩展
break 语句可以跳出 for 和 while 的循环体。如果你从for 和 while 循环中终止,任何对应的循环 else 块将不执行。
continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
2.4 range函数:
可以指定数字区间,打印数字区间的所有整数。
for i in range(1,11):
#包头不包尾
print(i)
for i in range(11):
#步长是1的时候 可以省略开头默认从0开始,重点值不能省略
print(i)
for i in range(0,101,2):
#打印0-100之间的偶数
print(i)
(三)组合用法
嵌套
3.1分支结构的嵌套
if
if
elif
else
else
#python成绩,大于90,可以参与抽奖活动。小于不能参与把python的课程复习一遍。抽奖号码的不同,有不同的奖励
grade = float(input('请输入你成绩'))
if grade>90:
print('恭喜你可以抽奖啦')
y = int(input('请输入抽奖号码'))
if y==1:
print('恭喜你,获得现金奖励200')
elif y==2:
print('恭喜你,获得电竞机械键鼠一套')
elif y==3:
print('恭喜获得奶茶一杯')
else:
print('很遗憾没中奖')
else:
print('很遗憾不能抽奖,请回去复习')
3.2 循环结构的嵌套
for 循环和 while
for i in range(1,6):
day = 0
while day<7:
day+=1
print(f'星期|{day}')
print(f'今天是第{i}周')
3.3分支结构循环嵌套
for循环嵌套if
singer = ['刘换','周杰伦','张杰','王力宏','陈奕迅','张碧晨','毛不易','许嵩','伍佰','王菲','那英']
singer_3 = []
for name in singer:
if len(name)==3:
singer_3.append(name)
print(singer_3)
# 把歌手名字是三个字的选出来放到新的列表里面
while循环嵌套分支结构:
ls = [12,35,37,24,46,2,5,76,567]
cs = 0 # 计算的次数
i = 0
while cs< len(ls):
print(ls[cs])
cs+=1
if ls[i]%2 == 0:
print(f'{ls[i]}是偶数')
i+=1
3.4 循环终止语句
break:完全结束整个循环
continue:跳过本次循环,继续下一个循环
for i in range(1,11):
if i==3:
print(f'今天请假了')
continue
print(f'请第{i}个员工开始工作10分钟')
# 工厂流水线。
num = 0
while num<10:
num+=1
if num == 3:
print('脚崴了,休息一会继续跑')
continue
print(f'跑了{num}圈')
num = 0
while num < 10:
print(f'跑了{num}圈')
num += 1
if num == 3:
print('脚崴了,今天跑不了了')
break
3.5 while – else
如果 while 后面的条件语句为 false 时,则执行 else 的语句块。
语法格式如下:
while <expr>:
<statement(s)>
else:
<additional_statement(s)>
#expr 条件语句为 true 则执行 statement(s) 语句块,如果为 false,则执行 additional_statement(s)。
3.6 for … else
在 Python 中,for…else 语句用于在循环结束后执行一段代码。
语法格式如下:
for item in iterable:
# 循环主体
else:
# 循环结束后执行的代码
当循环执行完毕(即遍历完 iterable 中的所有元素)后,会执行 else 子句中的代码,如果在循环过程中遇到了 break 语句,则会中断循环,此时不会执行 else 子句。
快速加井号键注释: 选中之后–ctrl+?——pycharm。
:ctrl+alt+l 自动排版。
作者:落语凝心