全国计算机等级考试二级教程--python语言程序设计(2018年版)第四章:程序的控制结构

版权声明: https://blog.csdn.net/qq_38351824/article/details/84337238

声明:本篇文章只是个人知识盲区、知识弱点、重点部分的归纳总结,望各位大佬不喜勿喷。梳理顺序是按照书籍的实际顺序梳理,转载请注明出处。

作者:sumjess

 

一、程序的三种控制结构:

1、程序流程图:

      因为本身很简单,同时图也不好画这里就直接上照片了。

2、程序控制结构基础:

      顺序结构、分支结构、循环结构---后面有详解

3、程序控制结构扩展:

      break、continue---后面有详解

      break控制符用来结束当前循环。continue控制符用来结束当前循环的当次循环过程。

二、程序的分支结构:

因为该部分与C语言非常接近,所以在本段的最后用一个例题包含所有。

1、单分支结构 :if

   (1)使用方式如下:

            if <条件>:

               <语句块>

       其中,if、:和<语句块>前的缩进都是语法的一部分。

   (2)<条件>是一个或多个条件,多个条件间采用and或or进行逻辑组合。and表示多个条件“与”的关系,or表示多个条件“或”的关系。

2、二分支结构 :if---else

   (1)使用方式如下:

            if <条件>:

               <语句块1>

            else:

               <语句块2>

       其中,if、else、:和<语句块>前的缩进都是语法的一部分。

   (2)还有一种表达形式如下:

             <表达式1>   if   <条件>    else   <表达式2>

3、多分支结构 :if---elif---else

      使用方式如下:

            if <条件1>:

               <语句块1>

            elif<条件2>:

               <语句块2>

            ............

            else:

               <语句块N>

4、判断条件及组合 :

           <               小于

           >               大于

          <=              小于等于

          >=              大于等于

           =               等于

         !=             不等于

5、例题:

score = eval(input('请输入一个百分制成绩:'))
if score > 90.0:
    grade = 'A'
elif score >=80.0:
    grade = 'B'
elif score >=70.0:
    grade = 'C'
elif score >=60.0:
    grade = 'D'
else:
    grade = 'E'
print("对应的五进制成绩是:{}".format(grade))

6、判断条件及组合:

      (1)python语言中,任何非零的数值、非空的数据类型都等价于true0或空类型等价于False,可以直接作用判断条件。

      (2)python语言使用保留字not、and和or对条件进行逻辑运算组合。保留字not表示单个条件的“否”关系,and表示多个条件之间的“与”关系,or表示多个条件之间的“或”关系。

三、程序的循环结构:

1、遍历循环 :for

   (1)使用方式如下:

            for  <循环变量>  in  <遍历结构>:

                   <语句块>

  (2)对于字符串,可以逐一遍历字符串的每个字符,基本使用方式如下:

            for  <循环变量>  in  <字符串变量>:

                   <语句块>

for c in "pythonQQQ":
    print(c)

 (3)使用range()函数,可以指定语句块的循环次数,基本使用方式如下:

            for  <循环变量>  in  range(<循环次数>):

                   <语句块>

for c in range(10):
    print(c)

 (4)遍历循环还有一种扩展模式,基本使用方式如下:

            for  <循环变量>  in  <遍历结构>:

                   <语句块1>

            else:

                   <语句块2>

当for循环正常执行后,才会执行else里面的语句内容。

2、无限循环 :while

   (1)使用方式如下:

            while  <条件>  :

                   <语句块>

n=0
while n<10:
    print(n)
    n=n+3

   (2)while程序流程:

            当程序执行到while语句时,判断条件如果为true,执行循环体语句,语句结束后返回再次判断while语句的条件;

            当条件为false时,循环终止,执行与while同级别缩进的后续语句。

   (3)无限循环也有一种使用保留字else的扩展模式,使用方式如下:

            while  <条件>  :

                   <语句块1>

            else:

                   <语句块2>          

s,idx = 'PY',0
while idx<len(s):
    print("循环执行中:"+s[idx])
    idx += 1
else:
    s="循环正常结束"
print(s)

3、循环控制 :break和continue

    辅助循环控制的保留字:break和continue。

            break用来跳出最内层for或while循环,脱离该循环后程序从循环后的代码继续执行。

while True:
    s=input("请输入一个名字(按Q退出):")
    if s == "Q":
        break
    for c in s:
        if c == "E":
            break
        print(c,end="")
print("程序退出")

            continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。

for s in "PYTHON":
    if s == "Y":
        continue
    print(s,end="")

continue语句和break语句的区别是:continue语句只结束本次循环不终止整个循环的执行,而break具备结束循环的能力。

四、程序的异常处理:

python语言使用保留字try和except进行异常处理,基本的语法格式如下:

      try:

           <语句块1>

      except:

           <语句块2>

语句块1是正常执行的程序内容,当执行这个语句块发生异常时,则执行except保留字后面的语句块2。

try:
    n=eval(input("请输入一个数字:"))
    print("请输入数字的3次方值为:",n**3)
except:
    print("输入错误,请输入一个数字!")

五、实例解析---猜数字游戏:

import random
target = random.randint(1,1000)
count = 0
while True:
    try:
        guess = eval(input('请输入一个猜测整数(1至1000):'))
    except:
        print('输入有误,请重试不计入猜测次数哦!')
        continue
    count = count + 1
    if guess > target:
        print('猜大了')
    elif guess<target:
        print('猜小了')
    else:
        print('猜对了')
        break
print("此轮的猜测次数是:",count)

六、习题四:

(1)Python中的合法赋值:x=y=z=1  x,y=y,x   

(2)Python中的合法比大小:(‘3’,‘2’)<(‘a’,‘b’)   

                                               ASSCII码:48->57  ===>   0到9数字

                                                                  65->90  ===>   26个大写字母

                                                                  97->122 ===>  26个小写字母

(3)要实现一个计数循环使用for比使用while的优点有不需要在循环中维护计数器

(4)滥用try-except类型语句的可能的后果有:影响代码的可读性、增加了代码的维护难度

(5)break和continue的区别是:continue结束本次循环,不终止整个循环执行,而break具备结束循环的能力

(6)异常处理机制中try的作用是:负责处理确定异常处理的范围

(7)pass空语句可以保持程序结构的完整性,不做任何事情,只是占位语句

(8)异常处理机制也要结合函数设计统筹应用

猜你喜欢

转载自blog.csdn.net/qq_38351824/article/details/84337238