python入门基础day3
- 流程控制语句
- 三元表达式
- 循环结构
- 循环控制关键字
- while...else...循环
- 循环嵌套
流程控制语句
1.流程控制语句介绍
当我们走路的时候遇到了十字路口,我们会停下来选择要走的方向,同样我们的python程序遇到‘十字路口’的时候,能不能根据不同的情况选择不同的方向呢? 例如让我们的python程序根据不同的时间打印‘早安’或者‘晚安’。
这就用到了python中的流程控制语句。python中流程控制语句结构有顺序流程语句结构,分支流程控制语句机构和循环控制结构。
2.顺序控制语句
顺序流程控制语句,就是程序从上到下依次执行。
print('开始执行')
print('1')
print('2')
print('3')
print('执行完成')
# 输出结果如下(代码依次执行)
# 开始执行
# 1
# 2
# 3
# 执行完成
3.分支控制语句
根据条件表达式的结果执行相应的代码
(一)单分支结构
格式:如果条件表达式成立,执行if块,否则不执行
if 条件表达式:
代码1
注意:条件表达式后面有“:”,if块是靠缩进表示的
(二)多分支结构
- 格式:
如果条件表达式1成立,执行if块代码1 ,如果条件表达式2成立,执行if块代码2, 如果条件表达式3成立,执行if块代码3, 否则执行else中的代码4
if 条件表达式1:
代码1
elif 条件表达式2:
代码2
elif 条件表达式3:
代码3
else:
代码4
- 注意:elif客户要有多个,else可以没有
分支嵌套:if块中套if,可以嵌套多个if
- 格式:
如果条件表达式1成立,执行代码1,如果条件表达式2成立,执行代码2, 如果条件表达式1不成立,执行代码4
if 条件表达式1:
代码1
if 条件表达式2:
代码2
else:
代码3
else:
代码4
三元表达式
- 格式:
变量 = 条件为真返回的结果 if 判断条件 else 条件为假返回的结果 - 说明:
变量赋值时,要做条件判断时,简化代码时使用
x = 1
y = 2
z =3
if x:
a = y
else:
a = z
像这个例子所演示的,有时这类语句中涉及的元素相当简单,用四行代码编写
太浪费了。在其他时候,我们可能想将这种内容嵌套在较大的语句内,而不是将
其结果赋值给变量。python2.5 引入了新的表达式格式,让我们可以在一个表达
式中编写出相同的结果:
a=y if x else z
如果 x 是真,则将 y 赋值给 a,否则将 z 赋值给 a
x = 0
y = 2
z = 3
a = y if else z
循环结构
生活中循环的例子也很多,例如 听歌的时候进行循环等等。
程序中循环的效果和生活中的循环效果相同,python 中的循环是往复的执行某
一段代码。
python 中有两种格式的循环分别为 while 循环和 for 循环
- 格式:
如果条件表达式成立 True,执行执行循环体中的代码块,执行完循环 体中的代码后,继续判断条件表达式是否成立,如果成立继续执行 循环体。直到条件表达式为 False 后程序继续往下执行。
定义计数器
while 循环表达式:
代码1
改变计数器的值
举个栗子
# 说 多喝热水
# 相同或者相似的事情可以用循环来解决
print("多喝热水")
num = 1
while num<=10000:
print("多喝热水%d"%num)
num+=1
循环控制关键字
break 和 continue
break 用于完全结束一个循环,跳出循环体执行循环后面的语句。
continue 只是终止本次循环,接着还执行后面的循环。
break 关键字
# break
# 输出1-10,当输出6时停止
# 初始值
# num = 1
#循环条件
while num<=10:
print(num,end=' ')
if num==6:
break
num+=1
break 关键字简单应用场景,在我们学生管理系统项目中,当退出系统的时候就
可以使用 break 关键字。
continue 关键字
#continue
#刘德华演唱会,10张票,售票处留两张(3,4)vip票,1号票售出下班
ticket = 10
while ticket>0:
if ticket==3 or ticket==4:
print("预留的vip门票,不售卖!")
ticket -= 1
continue
print("已售出门票,%d号票"%ticket)
ticket -= 1
print("下班啦!")
continue 关键字应用场景:
我们想只打印 0-10 之间的奇数,可以用 continue 语句跳过某些循环:
while…else…循环
- 格式:
当 while 循环体正常执行完后执行 else 代码块中的内容。如果 while 没有正常执行完(有 break),则不执行 else
#输出1-10,当输出6时停止
#初始值
num = 1
#循环条件
while num<=10:
print(num,end=' ')
if num==6:
continue
num+=1
else:
print("while中正常执行结束!")
应用场景:游戏循环
循环嵌套
- while 循环体中再嵌套 while 循环,就叫做嵌套 while 循环
- 格式:
当条件表达式 1 成立的时候,执行循环体,然后判断条件表达式 2 是否成立,如果成立则执行嵌套中的 while 循环,直到条件表达式 2 不成立了后再执行改变计数器 1 的值,然后再判断条件表达式 1 是否成立。往复执行上面的流程。
# out_num = 1
# while out_num<=3:
# print("外循环-->",out_num)
# inner_num = 1
# while inner_num<=5:
# print("这是内层循环-->",inner_num)
# inner_num+=1
# out_num+=1
"""
*
**
***
****
*****
"""
# row = 1
# while row<=5:
# print("*"*row)
# row+=1
#第四行第三列小星星换成#
row = 1
while row<=5:
col = 1
while col<=row:
if row==4 and col==3:
print("#",end='')
else:
print("*",end='')
col+=1
print()
row+=1