美文网首页
7 | 判断&循环&迭代

7 | 判断&循环&迭代

作者: 运维开发_西瓜甜 | 来源:发表于2019-12-27 18:49 被阅读0次

    https://www.jianshu.com/p/ad9edd8fba4e

    一、 判断(关系)运算符

    运算符 <, >, ==, >=, <= 和 != 将比较两个对象的值。 两个对象不要求为相同类型。

    千锋云计算杨哥团队@shark
    >>> 10 > 5
    True
    >>> 10 == 10
    True
    >>> 10 != 9
    True
    >>> 1 == True
    True
    >>> False == 0
    True
    >>> 1 == True
    True
    >>>
    

    链式判断

    image.png

    二、 逻辑运算符和成员运算符

    千锋云计算杨哥团队@shark image.png

    运算符 not 将在其后跟的 参数 为假值时产生 True,否则产生 False

    >>> not 0
    True
    >>> not ''
    True
    >>> not 'lenovo'
    False
    

    表达式 x and y 首先对 x 求值;如果 x 为假则返回 该值;否则对 y 求值并返回 其结果值

    >>> x = 0
    >>> y = 1
    >>> x and y
    0
    >>> 'lenovo' and y
    1
    >>>
    

    表达式 x or y 首先对 x 求值;如果 x 则返回该 ;否则对 y 求值并返回其 结果值

    >>> 'lenovo' or y
    'lenovo'
    >>> '' or y
    1
    >>> x or y
    1
    >>>
    

    请注意 andor 都不限制其返回的值和类型必须为 FalseTrue,而是返回最被求值的参数的

    三、 看清真假

    在执行布尔运算的情况下,或是当表达式被用于流程控制语句时,以下值会被解析为假值: False, None, 所有类型的数字零,以及空字符串和空容器(包括字符串、元组、列表、字典、集合与冻结集合)。

    所有其他值都会被解析为真值。

    image.png

    四、if 判断语句

    单分支

    基本的语法格式:

    if 条件语句:   # 注意这里必须以英文的冒号结束
        条件语句为真时,执行的语句
    
    n = input("输入数字>>:")
    n = int(n)    # input 接收到的数据,都是字符串类型
    if n == 5:
        print('相等')
    
    n = input("输入数字>>:")
    n = int(n)
    if n == 5:
        print('相等')
    else:               # else 后边必须有英文的冒号
        print('No')
    

    多分支

    基本语法

    if 条件语句:   # 注意这里必须以英文的冒号结束
        条件语句为真时,执行的语句
    elif  条件语句:
        条件语句为真时,执行的语句
    else:
        前面的条件都为假,则执行此语句
    

    elif 可以有多个

    n = input("输入数字>>:")
    # 必须输入数字来测试
    n = int(n)
    
    if n == 5:
        print('ok')
    elif n > 5:
        print('大了')
    else:
        print('小了')
    

    嵌套

    n = input("输入数字>>:")
    
    # n.isdigit() 用于判断 n 的值是否全部都是纯数字, 
    # 全部是数字才能使用 int()  转换, 比如: int("123")  可以转成 123
    
    if n.isdigit():
        f_n = int(n)
        if f_n == 5:
            print('ok')
        elif f_n > 5:
            print('大了')
        else:
            print('小了')
    else:
        print('请输入数字')
    

    五、while 循环

    基本语法

    while  条件表达式:
        条件表达式为真,则这些这里的语句
    

    冒号 : 是必须的
    缩进也是必须的

    while True:
        n = input("输入数字>>:")
        n = int(n)
        if n == 5:
            print('相等')
            break
        elif n > 5:
            print('大了')
        else:
            print('小了')
    

    假设上面的小游戏,只能玩 3 次,如何处理?

    m = 1
    
    while m <= 3:
        m += 1
        n = input("输入数字>>:")
        n = int(n)
        if n == 5:
            print('相等')
            break
        elif n > 5:
            print('大了')
        else:
            print('小了')
    

    七、 for 循环

    基本语法

    for    变量名    in   被循环的对象:
         循环体
    

    变量名是自定义的
    被循环的对象也称为 可迭代对象
    可迭代对象:

    • 字符串 'lenovo'
    • 列表 [1, 2, 'lenovo']
    • 元组 (1, 2, 'lenovo')
    • 集合 {1, 2 'lenovo'}

    循环字符串对象

    >>> s = 'lenovo'
    >>>
    >>> for i in s:
    ...     print(s)
    ...
    lenovo
    lenovo
    lenovo
    lenovo
    lenovo
    lenovo
    

    range()

    产生一个可被循环的整数序列,默认序列的元素从 0 开始.

    用法:
    range(开始索引号, 结束索引号, 步长)

    >>> for i in range(3):
    ...     print(i)
    ...
    0
    1
    2
    >>> for i in range(1, 3):
    ...     print(i)
    ...
    1
    2
    >>> for i in range(1, 10, 2):
    ...     print(i)
    ...
    1
    3
    5
    7
    9
    >>>
    

    python3

    >>> range(3)
    range(0, 3)
    

    python2.x

    >>> range(3)
    [0, 1, 2]
    

    break 和 continue

    for i in range(0, 10):
        print(i)
        if i < 3:
            inp_num = int(input(">>:").strip())
            # inp_num = int(inp_num)
            if inp_num == 15:
                print('You get it')
                break
            elif inp_num > 15:
                print("高了")
            else:
                print("低了")
        else:
            print("Game over")
            break
    
    >>> for i in range(2, 10):
    ...     if i == 4:
    ...         continue
    ...     print("循环到", i)
    ...     if i == 6:
    ...         break
    ...
    循环到 2
    循环到 3
    循环到 5
    循环到 6
    >>>
    

    相关文章

      网友评论

          本文标题:7 | 判断&循环&迭代

          本文链接:https://www.haomeiwen.com/subject/pfikoctx.html