Python控制结构
分支语句
首先我们先来看看写代码时 代码结构有哪几种? a.顺序结构:代码从上往下依次执行 b.分支结构:根据不同的条件,执行不同的语句 c.循环结构 : 根据指定的条件,重复执行某段代码
在生产中这三种结构都会用到,根据具体的业务进行选择,基本和java语言等差不多,写法稍有不同。下面我们主要学习下分支结构。
分支结构-单分支语句 if
语法结构:if 表达式: 执行语句 说明:要么执行,要么不执行,当表达式成立的之后,则执行语句;如果表达式不成立,则直接跳过整个if语句继续执行后面的代码 注意:表达式为真才执行语句
如我们前面判断身高的脚本示例:
height=float(input("输入身高:"))
if height>1.8:
print("你的身高为:"+str(height))
print("好高啊")
if height>=1.7 and height<1.8:
print("你的身高为:"+str(height))
print("一般般啦")
if height <1.7:
print("你的身高为:"+str(height))
print("有点矮哦")
分支结构-双分支语句 if-else
语法结构:if 表达式: 执行语句1 else: 执行语句2 说明:如果表达式成立,则执行语句1;如果不成立,则执行语句
示例如下:
age=int(input("输入年龄:"))
if age>=16
print("已成年")
else
print("未成年")
分支结构-多分支语句-if-elif-else
语法结构:if 表达式1: 执行语句1 elif 表达式2: 执行语句2 elif 表达式3: 执行语句3 … else: 执行语句n
说明:这里面if-elif-else有多少个分支,都只会执行其中的一个分支
代码示例如下:
score=float(input("输入分数:"))
if score>=90.0
print("优秀")
elif score>=80.0 and score<90.0
print("良好")
elif score>=70.0 and score<80.0
print("中等")
elif score>=60.0 and score<70.0
print("及格")
else
print("不及格")
分支结构-分支嵌套语句
语法结构:if 表达式1: 执行语句1 if 表达式2: 执行语句:
说明:分支可以嵌套多层,但一般生产为了代码的可读性和可维护性,一般嵌套不会超过3层。
代码示例:
username=input("请输入用户名:")
password=input("请输入密码:")
if(username="zhangjianbo")
if(password="123456")
print("登录成功!")
else
print("密码错误!")
else
print("用户名错误!")
循环语句
首先看下什么是循环,为什么要循环?
所以循环就是周期性的做一件事,我们使用循环是为了将一定范围内的数据取出,逐一处理。那循环可以无限么?当然不行,无限循环在程序中被称为死循环,死循环会导致内存溢出,严重时造成服务器宕机。所以我们在使用循环时,总要有一个条件或者范围,循环到一定程度时 就要跳出循环。
下面看下循环语句的语法结构:
for循环
for 元素 in 迭代数据类型: 代码块
示例代码:我们逐个输出Python的字母
for i in 'Python':
print(i)
执行结果:
> python MyPython-11-1.py
P
y
t
h
o
n
for else 循环
示例代码如下:
for i in range(5):
if i == 2:
print(i)
break
else:
print('执行else语句')
当迭代对象完成所有迭代后且此时的迭代对象为空时,如果存在else子句则执行else子句,没有则继续执行后续代码;如果迭代对象因为某种原因(如带有break关键字)提前退出迭代,则else子句不会被执行,程序将会直接跳过else子句继续执行后续代码。
上面的例子中用到了range() ,它叫步长生成器,主要功能是生成具有一定规律的列表。用法格式如下
range([start,]end[,step]) start:开始数字,默认为0 end;结束数字 step;步长,默认为1
start 和step 都有默认值,可不输入。
如 range(4) 代表 输出 0-4的数,不包含4 ,那么结果为 0 1 2 3
range(2,4) 代表输出2-4的数,同样不包含4 ,那么结果为 2 3
range(2,10,2) 代表输出2-10的数,但步长为2 ,那么结果为 2 4 6 8
while 循环
语法格式如下:
while 成立的条件: 代码块
示例代码:
a=1
while a<10:
print('a=',a)
a+=2
下面看几个关键字,用于结束循环。
break 用于跳出当前循环,一般使用方法是在循环中有条件判断,如果满足直接跳出 不再执行循环
continue 用于结束本次循环,并继续下一次循环。一般使用方法是在循环中有条件判断,如满足代表本次循环已经没有必要继续,跳出本次循环,直接执行下一次
pass Python中 pass是空语句,是为了保持程序结构的完整性。pass不做任何事情,一般用做占位语句。
下面的案例我们来感受下三个关键字的作用
print('验证break的用法')
users=['张三','李四','王五','赵六']
for user in users:
if user == '李四':
print('已经排到李四,跳出循环')
break
print('当前排队的是',user)
print('排队结束喽')
执行结果:
> python MyPython-11-3.py
验证break的用法
当前排队的是 张三
已经排到李四,跳出循环
排队结束喽
print('验证continue的用法')
users=['张三','李四','王五','赵六']
for user in users:
if user == '李四':
print('已经排到李四,执行下次循环')
continue
print('当前排队的是',user)
print('排队结束喽')
执行结果如下:
> python MyPython-11-4.py
验证continue的用法
当前排队的是 张三
已经排到李四,执行下次循环
当前排队的是 王五
当前排队的是 赵六
排队结束喽
|