3.0、Python流程控制语句

目录

 

3.1条件语句

3.2循环语句


3.1条件语句

if语句

if语句用于在程序中有条件的执行某些语句,其语法格式如下:

score = 90
if score >= 60:
    print("真棒!")
print("您的分数为%d"%score)

第2行判断socre的值是否大于或等于60。如果socre的值大于或等于60,执行第3行,否则不执行第3行。程序执行完if语句后,接着执行第4行代码。

if条件表达式:语句块#当条件表达式为True时,执行语句块,如果条件表达式的值为True,则执行其后的语句块,否则不执行该语句块。if语句的执行流程如图所示。

if-else语句

if-else语句用于根据条件表达式的值决定执行哪块代码,其语法格式如下:

score = 80
if score >= 60:
    print("真棒!")
else:
    print("加油!")
print("您的分数为%d"%score)

在例中,第2行判断socre的值是否大于或等于60,如果socre的值大于或等于60,则执行第3行,否则执行第5行。程序执行完if-else语句后,接着执行第6行代码。

如果条件表达式的值为True,则执行其后的语句块1,否则执行语句块2。if-else语句的执行流程如图所示。

if-elif语句

在程序中,多重判断可以通过if-elif语句实现,其语法格式如下:

score =80
if 90 <= score <= 100:
    print("学神:成绩爆表!")
elif 80<= score < 90:
    print("学霸:成绩优秀!")
elif 60 <= score < 80:
    print("学民:成绩及格!")
elif 0 <= score < 60:
    print("学渣:成绩堪忧!")
print("您的分数为%d"%score)

当执行该语句时,程序依次判断条件表达式的值,当出现某个表达式的值为True时,则执行其对应的语句块,然后跳出if-elif语句继续执行其后的代码。
if-elif语句的执行流程,如图所示。

此外,if-elif语句后还可以使用else语句,用来表示if-elif语句中所有条件不满足时执行的语句块,其语法格式如下:

if 条件表达式1:
    语句块1    #当条件表达式1为True时,执行语句块1
elif 条件表达式2:
    语句块2    #当条件表达式2为True时,执行语句块2
……
else:
    语句块n    #当以上表达式均为Palse时,执行语句块n

if语句嵌套

if语句嵌套是指if、if-else中的语句块可以是if或if-else语句,其语法格式如下:

 

 

3.2循环语句

while语句

while语句中循环体是否执行,取决于条件表达式是否为True。当条件表达式为True时,循环体就会被执行,循环体执行完毕后继续判断条件表达式,如果条件表达式为True,则会继续执行,直到条件表达式为False时,整个循环过程才会执行结束。while语句的执行流程,如图所示。

在while语句中,当条件表达式为True时,就重复执行语句块;当条件表达式为False时,就结束执行语句块。
while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立,具体用法如下:

# continue 和 break 用法
 
i = 1
while i < 10:   
    i += 1
    if i%2 > 0:     # 非双数时跳过输出
        continue
    print i         # 输出双数2、4、6、8、10
 
i = 1
while 1:            # 循环条件为1必定成立
    print i         # 输出1~10
    i += 1
    if i > 10:     # 当i大于10时跳出循环
        break

 

for语句

for语句可以循环遍历任何序列中的元素,如列表、元组、字符串等,其语法格式如下:

for 元素 in 序列:
    语句块

其中,for、in为关键字,for后面是每次从序列中取出的一个元素。接下来演示for语句的用法,如例所示。

for word in "Python":
    print(word)

当需要遍历数字序列时,可以使用range()函数,它会生成一个数列,接下来演示其用法,如例所示。

sum = 0
for i in range(1,101):
    sum += i
print("1+2+……+100=%d"%sum)

while与for嵌套

Python 不仅支持 if 语句相互嵌套,while 和 for 循环结构也支持嵌套。所谓嵌套(Nest),就是一条语句里面还有另一条语句,例如 for 里面还有 for,while 里面还有 while,甚至 while 中有 for 或者 for 中有 while 也都是允许的。

当 2 个(甚至多个)循环结构相互嵌套时,位于外层的循环结构常简称为外层循环或外循环,位于内层的循环结构常简称为内层循环或内循环。

循环嵌套结构的代码,Python 解释器执行的流程为:
1.当外层循环条件为 True 时,则执行外层循环结构中的循环体;
2.外层循环体中包含了普通程序和内循环,当内层循环的循环条件为 True 时会执行此循环中的循环体,直到内层循环条件为 False,跳出内循环;
3.如果此时外层循环的条件仍为 True,则返回第 2 步,继续执行外层循环体,直到外层循环的循环条件为 False;
4.当内层循环的循环条件为 False,且外层循环的循环条件也为 False,则整个嵌套循环才算执行完毕。
循环嵌套的执行流程图如下图所示:

i = 0
while i<10:
    for j in range(10):
        print("i=",i," j=",j)       
    i=i+1

可以看到,此程序中运用了嵌套循环结构,其中外循环使用的是 while 语句,而内循环使用的是 for 语句。程序执行的流程是:

  • 一开始 i=0,循环条件 i<10 成立,进入 while 外循环执行其外层循环体;
  • 从 j=0 开始,由于 j <10 成立,因此进入 for 内循环执行内层循环体,直到 j=10 不满足循环条件,跳出 for 循环体,继续执行 while 外循环的循环体;
  • 执行 i=i+1 语句,如果 i<10 依旧成立,则从第 2 步继续执行。直到 i<10 不成立,则此循环嵌套结构才执行完毕。

根据上面的分析,此程序中外层循环将循环 10 次(从 i=0 到 i=9),而每次执行外层循环时,内层循环都从 j=0 循环执行到 j=9。因此,该嵌套循环结构将执行 10*10 = 100 次。
                               ( 嵌套循环执行的总次数 = 外循环执行次数 * 内循环执行次数
事实上,if 语句和循环(while、for)结构之间,也可以相互嵌套

break语句

break语句可以使程序立即退出循环,转而执行该循环外的下一条语句。如果break语句出现在嵌套循环中的内层循环中,则break语句只会跳出当前层的循环。
continue语句

continue语句用于跳过当前循环体中剩余的语句,然后进行下一次循环。

else语句

else语句除了可以与if语句搭配使用外,还可以与while语句、for语句搭配使用,当条件不满足时执行else语句块,它只在循环结束后执行。

需要注意while语句或for语句中有break语句时,程序将会跳过while语句或for语句后的else语句)

pass语句

在编写一个程序时,如果对部分语句块还没有编写思路,这时可以用pass语句来占位。它可以当作一个标记,表示未完成的代码块。
演示pass语句的用法如下:

for n in range(1,3):
    pass
    print("暂时没思路")
print("程序结束")

结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值