运算符与分支结构

Posted wsdr95-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运算符与分支结构相关的知识,希望对你有一定的参考价值。

运算符与分支结构

运算符

  • 赋值运算符

    • 用‘=‘表示,左边只能是变量。

  • 算术运算符

    • +、-、*:加、减、乘

    • /:除法运算,结果是浮点数

    • //:除法运算,结果是整数

    • %:求余

    • **:求幂

  • 复合运算符

    • +=、-=、*=、/=、//=、%=、**=

    • 示例:a += b等价于a = a + b

  • 关系运算符

    • >、>=、<、<=、==、!=

    • 表达式:由操作数和运算符构成的式子

    • 关系表达式:由操作数和关系运算符构成的式子

    • 关系表达式是有值的:符合数学逻辑值为真(True)、不符合数学逻辑值为假(False)

  • 逻辑运算符

    • 与(and):两边的表达式同时为真,结果才为真。

    a = 20
    # 通用写法
    # print(a>=10 and a<=100)
    # 特有写法
    print(10 <= a <= 100)
    ?
    b = 10
    print(b%3 == 0 and b%5 == 0)
    • 或(or):两边的表达式一个为真,结果就为真。


    year = int(input(‘请输入一个年份:‘))
    print((year % 4 == 0 and year % 100 != 0) or (year % 400 == 0))
    • 非(not):用于取反表达式,真变假,假变真。

      • 经常伴随着隐式类型转换

      • 使用not是为了简化书写

  • 成员运算符

    • in、not in:判断一个值是否在另一个变量中

    • 说明:通常用在字符串、列表、元组、集合、字典等成员的判断

    • 示例:


    lt = [1, 2, 3]
    print(8 in lt)
    print(8 not in lt)
    d = {‘name‘: ‘ergou‘, ‘age‘: 18}
    # 字典成员判断的是键
    print(‘name‘ in d)
  • 位运算符(了解)

    • &:按位与,对应的数据位同时为1,结果上对应的位才为1

    • |:按位或,对应的数据位一个为1,结果上对应的位就为1

    • ^:按位异或,对应的数据位相同时结果上的位为0,不同时结果上位为1

    • ~:按位取反,数据的每一位,0变1,1变0

    • <<:按位左移,左移一位相当于乘以2

    • 》:按位右移,右移一位相当于除以2

  • 优先级与结合性

    • 语法中没有明确规定运算符的优先级与结合性,即使明确说了你也不一定能记得住。

    • 建议:使用时不用刻意记录优先级与结合性,当需要明确指定时添加括号即可。

流程控制

  • 说明:

    • 按照程序的执行流程,程序可以分为三种结构:顺序结构、分支结构、循环结构

    • 顺序结构:代码按照从上到下的顺序依次执行,没有语法要求。

    • 代码层次:python中的代码块不是通过大括号表示的,而是通过缩进来表示。

  • 分支结构(if-else)

    • 格式1:适合于生活中的条件执行问题


    if 表达式:
    语句块

    执行流程:当程序执行到if语句时,首先判断表达式的真假。若表达式的值为真,则指定缩进的语句块;若表达式的值为假,则跳过语句块执行后面的内容。

    • 格式2:适合于解决生活非此即彼的问题


    if 表达式:
    语句块1
    else:
    语句块2

    执行流程:当程序执行到if-else语句时,首先判断表达式的值真假。若表达式的值为真,则执行语句块1;若表达式的值为假,则执行语句块2.

    • 格式3:适合于解决生活中多种选择的问题


    if 表达式1:
    语句块1
    elif 表达式2:
    语句块2
    elif 表达式n:
    语句块n
    else:
    语句块
    1. elif的个数没有限制

    2. else可以省略

    3. 所有的语句块最多只能执行一个

字符串格式化

  • 示例:


    name = ‘二狗‘
    like = ‘王大花‘
    age = 18
    # 格式化
    # %s:字符串
    # %d:整数
    # %f:浮点
    # %c:字符
    print(‘俺叫%s,暗恋%s,她今年%d岁‘ % (name, like, age))
    ?
    # python特有的格式化方案,推荐使用
    print(‘俺叫{},暗恋{},她今年{}岁‘.format(name, like, age))
    print(‘俺叫{2},暗恋{1},她今年{0}岁‘.format(name, like, age))
    print(‘俺叫{l},暗恋{n},她今年{a}岁‘.format(n=name, l=like, a=age))

ASCII

  • 说明:美国信息交换标准代码,就是用一个数字代表一个字符的表示形式。

  • 函数:


    # 根据字符获取ASCII码
    print(ord(‘A‘))
    # 根据ASCII码的值获取字符
    print(chr(97))

列表操作

  • 示例:


    lt = [1, 2, 3, 4, 5]
    ?
    print(lt[0])
    print(lt[-1])
    print(lt[1:3])
    print(len(lt))
    ?
    # 修改
    lt[0] = 100
    ?
    # 追加,在列表的末尾添加
    # lt.append(200)
    # 整体作为一个元素添加
    # lt.append([200, 300])
    # 将可迭代对象中的每一个元素依次添加到列表
    lt.extend([200, 300])
    ?
    # 在指定位置插入元素
    lt.insert(2, 250)
    ?
    # 删除
    # 根据下标删除元素
    del lt[0]
    # 根据值进行删除
    lt.remove(250)
    # 返回并删除执行下标的元素,默认最后一个
    last = lt.pop(3)
    print(last)
    ?
    lt = [1, 2, 3, 4, 5, 1]
    # 根据元素,查找下标(第一个)
    print(lt.index(1))
    # 统计元素出现的次数
    print(lt.count(1))
    ?
    # 逆序
    lt.reverse()
    print(lt)
    ?
    lt = [5, 8, 3, 1, 9]
    # 排序,默认升序,可以通过reverse参数指定倒序排
    lt.sort(reverse=True)
    print(lt)

集合操作

  • 示例


    s = {‘生辉‘, ‘学轩‘, ‘俊峰‘, ‘鹏基‘, ‘二狗‘}
    ?
    # 添加元素
    s.add(‘晓富‘)
    ?
    # 删除
    # s.remove(‘二狗‘)
    # 删除不存在的元素时会报KeyError错
    # s.remove(‘狗蛋‘)
    # 有就删除,没有也不报错
    # s.discard(‘狗蛋‘)
    ?
    # 返回并删除
    # print(s.pop())
    ?
    # 清空元素
    s.clear()
    ?
    # print(s)
    ?
    s1 = {‘小马‘, ‘小芳‘, ‘小敏‘}
    s2 = {‘小杜‘, ‘小王‘, ‘小敏‘}
    ?
    # 并集,捕获改变原集合
    # print(s1.union(s2))
    ?
    # 交集,不会改变原集合
    # print(s1.intersection(s2))
    # 交集,然后覆盖原集合
    # s1.intersection_update(s2)
    ?
    # 差集,不会改变原集合
    # print(s1.difference(s2))
    # 差集,然后覆盖原集合
    # s1.difference_update(s2)
    ?
    # print(s1)
    ?
    # 判断是否没有交集
    print(s1.isdisjoint(s2))
    ?
    # 判断是否是另一集合的子集
    print(s1.issubset(s2))
    ?
    # 判断是否是另一集合的父集/超集
    print(s1.issuperset(s2))

字典操作

  • 示例


    d = {‘name‘:‘ergou‘,‘age‘:18}
    ?
    #获取成员
    print(d.get(‘name‘,‘默认‘))
    ?
    #修改元素
    #元素存在直接更改
    #d[‘name‘] = ‘二狗‘
    #元素不存在则添加
    #d[‘height‘] = 180
    ?
    #更新,存在的覆盖,不存在的添加
    #d.update({‘name‘:‘二狗‘,‘height‘: 180})
    ?
    #删除
    #del d[‘age‘]
    #返回后删除
    #print(d.pop(‘age‘))
    ?
    #清空
    #d.clear()
    ?
    print(d)

 
































































































































































以上是关于运算符与分支结构的主要内容,如果未能解决你的问题,请参考以下文章

python 运算符与分支结构

运算符与分支结构

Java基础学习笔记(基本规范变量定义运算符分支/循环结构函数)

3.1运算符+代码结构(分支+循环)+函数

实验四——多分支结构及本章总结

分支控制