• Python----基础之流程控制


    控制流:

    截止到现在,在我们所看过的程序中,总是有一系列语句从上到下精确排列,并交由 Python 忠实地执行。如果你想改变这一工作流程,应该怎么做?就像这样的情况:你需要程序作出一些决定,并依据不同的情况去完成不同的事情,例如依据每天时间的不同打印出 '早上好' 'Good Morning' 或 '晚上好' 'Good Evening'?

    正如你可能已经猜测到的那番,这是通过控制流语句来实现的。在 Python 中有三种控制流语句——if for 和 while:

    if..else语句:

    number = 50
    inp = input('>>:').strip()
    inp = int(inp)
    if inp == number:
        print('这个是走if代码块')
    else:
        print('这个是走else代码块')
    View Code

    这个是单分支,那么多分支是什怎么写呢?

    age_of_oldboy = 48
    
    guess = int(input(">>:"))
    
    if guess > age_of_oldboy :
        print("猜的太大了,往小里试试...")
    
    elif guess < age_of_oldboy :
        print("猜的太小了,往大里试试...")
    
    else:
        print("恭喜你,猜对了...")
    View Code

    while 语句:

    if else在某种环境下还是有局限性的,比如:判断一个流程,需要判断多次,代码不能一直复制,这时就可以用while代替重复代码,比如:

    count = 0
    while count <= 100 : # 只要count小于100就不断执行下面的代码
    
        if count % 2 == 0: # 判断是否是偶数
            print("loop ", count)
    
        count +=1 # 每执行一次,就把count+1,要不然就变成死循环啦,因为count一直是0
    View Code

    还有一种循环,一触发就运行到爆炸。while 是只要后边条件成立(也就是条件结果为真)就一直执行,怎么让条件一直成立呢?

    count = 0
    while True: # True本身就是真呀
    
        print("一直在运行...",count)
        count +=1

    for..in 语句:

    for..in 语句是另一种循环语句,其特点是会在一系列对象上进行迭代(Iterates),意即它会遍历序列中的每一个项目

    for i in range(5):
        print(i)
    else:
        print('循环结束')
    View Code

    运行原理:在这一程序中,我们打印了一个数字序列。我们通过内置的 range 函数生成这一数字序列。

    在这里我们所要做的事情是提供两个数字,而 range 将会返回一个数字序列,从第一个数字开始,至第二个数字结束。举个例子,range(1,5) 将输出序列 [1, 2, 3, 4]。在默认情况下,range 将会以 1 逐步递增。如果我们向 range 提供第三个数字,则这个数字将成为逐步递增的加数。同样举个例子来说明,range(1,5,2) 将会输出 [1, 3]。要记住这一序列扩展直到第二个数字,也就是说,它不会包括第二个数字在内,会跳一步,越过2,range(1,5,3) 将会输出 [1, 4]

    循环终止语句:

    如果在循环的过程中,因为某些原因,你不想继续循环了,怎么把它中止掉呢?这就用到break 或 continue 语句

    • break用于完全结束一个循环,跳出循环体执行循环后面的语句
    • continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环

    break:

    count = 0
    while count <= 100 : # 只要count<=100就不断执行下面的代码
        print("loop ", count)
        if count == 5:
            break
        count +=1 # 每执行一次,就把count+1,要不然就变成死循环啦,因为count一直是0
    
    print("-----out of while loop ------")

    continue:

    count = 0
    while count <= 100 : 
        count += 1
        if count > 5 and count < 95: # 只要count在6-94之间,就不走下面的print语句,直接进入下一次loop
            continue 
        print("loop ", count)
    
    print("-----out of while loop ------")

    while..else:

    与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句

    while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句

    count = 0
    while count <= 5 :
        count += 1
        print("Loop",count)
    
    else:
        print("循环正常执行完啦")
    print("-----out of while loop ------")

    如果执行过程中被break啦,就不会执行else的语句啦

    count = 0
    while count <= 5 :
        count += 1
        if count == 3:
            break
        print("Loop",count)
    
    else:
        print("循环正常执行完啦")
    print("-----out of while loop ------")    

    总结:本文介绍了在 Python 中有三种控制流语句——if for 和 while循环语句,以及break终止和continue中止某一次继续执行和while..else语句

  • 相关阅读:
    SDOI2017遗忘的集合
    菜鸡的考场emacs配置
    SDOI2017苹果树
    SDOI2017硬币游戏
    都11点了为什么还没有人阿克离场
    TJOI2013数字根
    HNOI2018毒瘤
    闵可夫斯基和
    三维凸包学习小记
    灭绝树学习小记
  • 原文地址:https://www.cnblogs.com/cnike/p/10432498.html
Copyright © 2020-2023  润新知