美文网首页Python
五、运算符和流程控制

五、运算符和流程控制

作者: 胖虎喜欢小红 | 来源:发表于2020-01-01 15:54 被阅读0次
    一、运算符
    In [2]: 1+1                                                                           
    Out[2]: 2
    
    In [3]: 2-1                                                                           
    Out[3]: 1
    
    In [4]: 3*3                                                                           
    Out[4]: 9
    
    In [5]: 4/2                                                                           
    Out[5]: 2.0
    
    In [6]: 4//2                                                                          
    Out[6]: 2
    
    In [7]: 5%3                                                                           
    Out[7]: 2
    
    In [8]: 2**3                                                                   
    Out[8]: 8
    
    In [10]: n=5                                                                          
    
    In [11]: n+=2                                                                         
    
    In [12]: n                                                                            
    Out[12]: 7
    
    In [13]: n+=2                                                                         
    
    In [14]: n                                                                            
    Out[14]: 9
    

    二、判断值

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

    ==          等于
    !=          不等于
    >           大于
    <           小于
    >=          大于等于
    <=          小于等于
    

    三、逻辑判断和成员判断

    and         与
    or          或
    not         非
    in          属于(成员判断)a in li
    

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

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

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

    请注意 andor 都不限制其返回的值和类型必须为 FalseTrue,而是返回最终求值的参数。 此行为是有必要的,例如假设 s 为一个当其为空时应被替换为某个默认值的字符串,表达式 s or 'foo' 将产生希望的值。 由于 not 必须创建一个新值,不论其参数为何种类型它都会返回一个布尔值(例如,not 'foo' 结果为 False 而非 ''。)

    四、一切都是假象

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

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

    数据类型             代码表现形式
    布尔                   False
    null类型               None
    整形                   0
    浮点型                 0.0
    控字符串                ''
    空列表                 []
    空元组                 ()
    空字典                 {}
    空集合                 set()
    

    五、链式判断

    10>n>3
    

    条件表达式
    条件表达式(有时称为“三元运算符”)在所有 Python 运算中具有最低的优先级。

    表达式 x if C else y 首先是对条件 C 进行求值。 如果 C 为真,x 将被求值并返回其值;否则将对 y 求值并返回其值。

    [on_true] if [expression] else [on_false]
    
    x, y = 50, 25
    small = x if x < y else y  //如果x<y就x为真,否则y
    

    流程控制语句

    判断

    基本语法格式:

    if 条件语句:   # 注意这里必须以英文的冒号结束
        条件语句为真时,执行的语句
    -----------------------------------------------------
    n = input("输入数字>>:")
    n = int(n)    # input 接收到的数据,都是字符串类型
    if n == 5:
        print('相等')
    =====================================================
    n = input("输入数字>>:")
    n = int(n)
    if n == 5:
        print('相等')
    else:               # else 后边必须有英文的冒号
        print('No')
    =====================================================
    n = input("输入数字>>:")
    # 必须输入数字来测试
    n = int(n)
    
    if n == 5:
        print('ok')
    elif n > 5:
        print('大了')
    else:
        print('小了')
    
    嵌套
    
    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 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 loop)

      是一种编程语言的迭代陈述,能够让程式码反复的执行。

      它跟其他的循环,如while循环,最大的不同,是它拥有一个循环计数器。

      这使得for循环能够知道在迭代过程中的执行顺序,记住上次被循环元素的位置。

        In [15]: for i in 'hello world': 
            ...:         print(i) 
            ...:                                                                              
        h
        e
        l
        l
        o
         
        w
        o
        r
        l
        d
    

    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, 2):
        print("循环到", i)
        if i == 4:
            continue
        print(i)
        if i == 6:
            break
    

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

    产生的元素数量是 n 个

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

    In [16]: for i in range(2): 
        ...:         print(i) 
        ...:                                                                              
    0
    1
    

    指定开始位置的数字和结束位置的数字, 输出的值中不包含结束位置的数字。

    这个 位置 指的就是 索引号的意思

    In [17]: for i in range(1, 3): 
        ...:         print(i) 
        ...:                                                                              
    1
    2
    In [20]: for i in range(0, 3): 
        ...:     print(i) 
        ...:                                                                              
    0
    1
    2
    

    for … else

    •1. 当 for 循环体正常执行完毕时,再执行一下 else 后面的代码

    •2. 当 执行了 break 后,就不再执行 else 后面的代码了

    for i in range(20):
        if i == 10:
            print('get it')
            n = i
            break
    else:
        print("Nothing")
    

    相关文章

      网友评论

        本文标题:五、运算符和流程控制

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