zoukankan      html  css  js  c++  java
  • Python第四章-流程控制

    流程控制

    在以前的代码中,所有的代码都是交由 Python 忠实地从头执行到结束。但是这些远远不够。很多时候需要根据不同的情况执行不同的代码。

    如果你想改变这一工作流程,应该怎么做?

    就像这样的情况:你需要程序作出 一些决定,并依据不同的情况去完成不同的事情,例如依据每天时间的不同打印出 '早上好' 'Good Morning' 或 '晚上好' 'Good Evening'?

    需要用到流程控制!

    python 共提供了 3 种流程控制: ifwhilefor...in

    一、分支语句

    所谓分支语句,就是条件满足,才会执行某个分支。

    if 翻译成中文就是如果的意思。

    在各大编程语言里面,if 语句应该是最为著名的语句。

    if 用来判断一个条件是否为 True , 如果是 True 执行相应的代码,如果是 False 执行另外的代码(else 语句,可选)。

    1.1 if语句用法

    语法:

    if 条件:
        #代码块1
    elif 条件:
        #代码块2
    elif ...
    else:
        #代码块3
    

    说明:

    1. python 的语法结构与其他语言差别很大。python 完全是靠缩进来组织代码结构。 if、elif、else 代码行结束的时候要使用 :
    2. if 后面跟的是条件,如果是 true 就执行代码块1。代码块1相比 if 一定要缩进,才能算是 if 代码块中的内容。缩进的时候,建议总是以 4 个空格为单位。 把编辑器或者IDE 工具的 tab 键设置为 4 个空格。
    3. 如果 if 后面的条件是 False ,则会判断紧接着的 elif 的条件,如果是 True 则执行代码块2。否则就继续判断后面的条件。
    4. 如果前面的所有条件都是 False ,则 执行 else 中的代码块 3。
    5. elif、else 语句是可选的。可以只有 if, 但是不能只有 elifelse
    6. 条件理论上可以是任意类型的,False、0、[]、{}、()、""、None 当做 False 来用,其余做 True 来用。 但是在使用的时候最好直接用 True 或 False
    7. 一旦有一个代码块执行结束后,整个 if 语句也就运行行结束了。
    num = 50
    # 把从键盘读取到的字符串形式的数字,转换成整数
    guess = int(input("请输入一个1-100的整数"))
    if guess > 50:
        print("你输入的是", guess, "比", num, "大了!")
    elif guess == 50:
        print("你输入的是", guess, "恭喜你猜对了!")
    else:
        print("你输入的是", guess, "比", num, "小了!")
    

    结果:

    1.2 if语句嵌套

    if 语句也可以嵌套。嵌套的时候一定要注意缩进!_

    # 下面的代码从键盘输入三个整数,然后判断并输出最大值
    num1 = int(input("请输入第 1 个整数:"))
    num2 = int(input("请输入第 2 个整数:"))
    num3 = int(input("请输入第 3 个整数:"))
    
    if num1 > num2:
        if num1 > num3:
            print("你输入的最大值是:" + str(num1))	# str()函数,可以把其他类型数据转换成字符串
        else:
            print("你输入的最大值是:" + str(num3))
    else:
        if num2 > num3:
            print("你输入的最大值是:" + str(num2))
        else:
            print("你输入的最大值是:" + str(num3))
    

    python 中没有 switch 语句。因为 switch 能做的, if 都可以做。 python 的设计理念就是精简!有一种方法能做的,绝不会提供第二种方法!

    二、循环语句

    在编程中还有一个更重要的需求,就是重复的执行一些动作。这个时候就需要用到循环语句。

    python 共提供了 2 种循环语句。 while 循环和 for...in 循环。

    while 用来做一些通用性的循环。 而 for...in 用来迭代对象(列表、元组、集合等)中的内容。

    我们今天只学习 while , for...in 待讲完数据结构之后再进一步学习。


    2.1 while 基本用法

    while 循环语法:

    while 条件:
    	#循环体
    else:
        #条件为 False 时执行
    

    说明:

    1. while 的条件与 if 的条件是一样的。
    2. 执行流程:先判断 while 后的条件,如果是 True 则开始执行循环体,执行完毕后,再去判断 条件,如果True 继续执行循环体...
    3. while 中的 else 是可选的。这和其他语言的很大的区别,其他的语言中 while 中没有 else。 当 while 中的条件为 False 时,开始执行 else 中语句。
    4. 如果提供了 else 语句,则 else 语句一定执行。除非你是通过 break 语句退出的循环。
    # 输出 0 - 9
    i = 0
    while i < 10:
        print(i)
        i = i + 1
    else:
        print("else 语句:" + str(i))
    

    2.2 break

    break 用在循环中(while 和 for...in 都可以用),用于提前结束整个循环。

    有一点需要注意:如果是 break 结束的循环,else 语句也不会执行。

    i = 0
    while i < 10:
        print(i)
        i = i + 1
        if i == 6:
            break
    
    else:
        print("else 语句:" + str(i))
    

    2.3 continue

    continue 用来提前结束本轮循环,然后继续判断,开始下一轮循环。

    break 语句和 continue 语句的区别:

    ​ 就像在打游戏循环赛,break 是彻底退出比赛,洗洗睡觉。continiue 是在打的过程中提前把这个一局比赛结束,然后开始下一局比赛。

    # 输出偶数
    i = 0
    while i < 10:
        i = i + 1
        if i % 2 == 1:
            continue	# 如果是奇数,则结束本轮循环,本轮后面的 print() 方法不再执行。
    
        print(i)
    else:
        print("else 语句:" + str(i))
    
  • 相关阅读:
    设计模式学习笔记之一:策略模式
    向上转型和向下转型
    html readonly和disabled的区别
    如何自定义JSR-303标准的validator
    vue 组件属性props,特性驼峰命名,连接线使用
    laydate中设置动态改变max与min值的方法
    浅谈JS中 reduce() 的用法
    jq 实时监听input输入框的变化
    npm install --save 和 npm install -d的区别
    vue中html、js、vue文件之间的简单引用与关系
  • 原文地址:https://www.cnblogs.com/yanadoude/p/12604400.html
Copyright © 2011-2022 走看看