day 3 分支结构和循环
if-elif-else
循环结构:for循环(range)、while循环、continue、break、
if-elif-else(链式条件)
当我们面对的可能性不只两种,需要更多的分支,就用到了链式条件,elif(else if的缩写),elif分支是无限制的,如果有else语句,必须放在条件链的末尾,else不是必须的。
- 当后面的条件是在前面条件不成立的情况下进行。如果有一个以上的条件为真,只有先出现的为真的条件所对应的分支语句会运行。
if x>y:
print(1)
elif x<y:
print(2)
else:
print(0)
if嵌套与三目运算符
if嵌套(如果一个条件判断嵌套在另一个条件判断语句中)
语法:
if 条件语句:
if 条件语句:
代码段
else:
代码段
else:
代码段
三目运算符
- 表达式2 if 表达式1 else 表达式3
- 啥意思呢?答曰:如果表达式1的值为True,则整个表达式的结果为表达式2的结果,若为False,则整个表达式3的结果为表达式3。
- 三目运算符类似于
if 表达式1:
表达式2
else:
表达式3
循环条件
for循环
语法:
for 变量 in 序列:
循环体
1)for -关键字:固定写法
2)变量 -变量名要求:不能是标识符,和关键字;
-规范:一般字母小写、多个单词用下划线隔开、知名晓义,不能用系统提供的函数名、函数名或者是类名。
3)in -关键字:固定写法
4)序列 -python中容器型数据类型比如说:字符串、range等等,此处以后补充
4.1): -固定写法
5)循环体-与for保持一个缩进,可以是一条语句也可以是多条语句,重复执行的代码
- **变量去取序列中的数据,一个一个取,直至取完为止,取一个数据,就执行一下循环体。
range函数
- range(n):n为正整数,产生一个[0,n)的数学序列
- range(m,n):产生一个[m,n)的数学序列,其中m<n
- range(m,n,step)产生一个[m,n)的数学序列,每次数值增加一个step
for x in range(3):
print(x,end=',')
print()
for y in range(1,3):
print(y, end=',')
print()
for z in range(10,7,-2):#step为负,m>n
print(z, end=',')
print()
for i in range(1,4,2):#step为正,m<n
print(i, end=',')
while循环
语法
while 条件语句:
循环体
1)while -关键字:固定写法
2)条件语句:任何有结果的表达 式
2.1):-固定写法
3)循环体 -while一个缩进的一个或多个语句,重复执行的语句
# 练习:写程序让客户不断输入内容,直到输入的内容是0为止。
msg ='start'
while msg!='0':
msg=input('请输入:')
print('结束')
for循环以及while循环的选择
- 循环次数确定选择for,循环次数不确定选择用while
补充:break,continue
1. break语句
break语句用来终止循环语句(即使没有False的条件或序列没有完全跑完,也会停止执行循环语句),break语句用在while 和for 循环中。
2.continue
continue语句跳出本次循环,而break跳出整个循环
continue语句用来告诉python跳过当前循环的剩余语句,让后继续下一轮循环。
continue用在while和for循环中。
k语句用在while 和for 循环中。
2.continue
continue语句跳出本次循环,而break跳出整个循环
continue语句用来告诉python跳过当前循环的剩余语句,让后继续下一轮循环。
continue用在while和for循环中。