一、控制介绍

   什么是控制?对于车来说方向盘以及刹车、离合、油门是控制,控制车的前后左右,加速减速。 那程序呢?程序也有类似的东西来控制代码的“前后左右,加速减速”。

二、代码常用控制结构

        1,while循环。类似于车挂了挡踩了油门,车会一直运行。直到你到终点完成旅行(循环完毕)或者遇到突发情况中止(例如break或者异常情况)。

              适用于不知道循环次数的情况,只要满足条件会一直执行下去。

                例子:

def whileControl(n):
    i=0
    s=0
    while (i<n):
        i=i+1
        s = s+i
    return s

num1 = int(input("请输入累加最大的整数数字:"))
print('%s%s'%('1到n间的数值加和:' , whileControl(num1)) )

 

        2,for循环,功能和while循环类似,但是有细微区别。

             for适用于已知循环次数的情况,可以在循环开始前初始化循环变量,并在每次循环结束后更新循环变量的值。

def forControl(n):
    for n in range(0,n):
        # 这个循环是没有返回值的,只是打印,所以返回值为None
        print(n)
num1 = int(input("请输入最大的整数数字:"))
print('%s%s'%('打印0到n间的所有数值:' , forControl(num1)))

        3,if条件判断,满足条件会执行代码,不满足条件会执行其他的代码。

def ifControl(n):
    if(n%2==0):
        print("偶数")
    else:
        print("不是偶数")
num1 = int(input("请输入整数数字:"))
ifControl(num1)

        4,if elif else 两重条件判断,例如下面根据学生成绩判断学生成绩程度。

# if elif else 
def judge(score):
    if(score>=90):
        print('成绩优秀')
    elif(score >70 and score < 90):
        print('成绩中等')
    else:
        print('成绩一般')
        

num1 = int(input("请输入学生成绩:"))
judge(num1)

 

        5,break 终止当前循环,在循环体内用。

def forControl(n):
    for n in range(0,n):
        # 如果输入的数字超过50那么不会继续打印,直接中断
        if(n>=50):
            print('超过50后的数字不打印!')
            break
        print(n)
num1 = int(input("请输入最大的整数数字:"))
print('%s%s'%('打印0到n间的所有数值,同时超过50后的数字不打印:' , forControl(num1)))

 

        6,continue 循环体内,满足条件时跳过本次循环,继续执行循环,在循环体内用。

def forControl(n):
    for n in range(0,n):
        # 10-20之间的数字不打印
        if(n>=10 and n<=20):
            print('10-20之间的数字不打印!')
            continue
        print(n)
num1 = int(input("请输入最大的整数数字:"))
print('%s%s'%('打印0到n间的所有数值,10-20之间的数字不打印:' , forControl(num1)))

 

        7,for else,是for循环和if条件判断的结合,先执行循环体即条件1,循环体执行完毕后会执行else条件2中的内容。要注意的是循环体不真常中止例如被break中止,是不会执行else条件2分支的。

def forControl(n):
    for n in range(0,11):
        print(n)
    else:
        print('超过10的部分数值不打印')
num1 = int(input("请输入最大的整数数字:"))
print('%s%s'%('只打印0到10间的数字,超过的提示不打印:' , forControl(num1)))

 

        8,try except,异常捕捉,异常处理操作。

         

def tryFunc(n):
    i=1
    # try捕捉的函数是可能出现问题的函数,方便程序运行时我们纠错。
    try:
        # 因为分母不可为0,所以当1/0时,下面一行代码会报错,被try捕获程序错误不会往下执行,直接进入except中. 
        result = 1 / n
        # 出现异常后下面两行代码不会被执行。
        print("我打印一下")
        return result
    except:
        print("异常了,除数不可为0")

num1 = int(input("几分之一运算,请输入除数:"))
print('%s%s'%('本次分子为1,输入分母,计算分数大小。本次计算结果为:' , tryFunc(num1)))