python 运算符与流程控制

运算符与流程控制

运算符

  • 赋值运算

    • 用'='表示,'='的左边只能是变量

  • 算术运算

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

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

    • //:除法运算,运算结果为整数(商)

    • %:求余

    • **:求幂

  • 复合运算

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

  • 关系运算(比较运算)

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

    • 由操作数和运算符组成的式子称为表达式

    • 关系表达式是有值的(布尔值),符合数学逻辑值为True,不符合数学逻辑值为False

  • 逻辑运算

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

    # 判断是否在100~200之间
    print((a >= 100) and (a <= 200))
    # 与上式等价
    print(100 <= a <= 200)
    • 或(or):两边的表达式一个为真,值就为真


    # 判断是否是闰年
    y = int(input('请输入一个年份:'))
    print(((y%4==0) and (y%100!=0)) or (y%400==0))
    • 非(not):用于取反表达式,真变假,假变真

      • 逻辑非得运算经常会伴随着隐式类型转换

      • 很多时候是为了简化表达式才使用

  • 成员运算

    • in、not in:判断一个变量是否是另一个变量的成员,是返回True,不是返回False

    • 一般用在字符串、列表、元组、集合、字典等成员的判断

    • 若是字典判断的是键

    l = ['李白', '杜甫', '白居易', '欧阳修']
    print('李白' in l)

    d = {'a':'apple', 'b':'banana', 'c':'cat', 'd':'dog'}
    print('aa' not in d)
  • 按位运算(了解)

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

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

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

    • ~:按位取反,对应 数据位1变0,0变1

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

    • :按位右移动,相当于除2

  • 优先级:无需记录运算符的优先级,需要的时候添加()即可。

流程控制

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

  • python中的代码层次是通过缩进表现的

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

  • 分支结构:if-else

    • 格式1


    if 表达式:
    语句块

    执行流程:当程序执行到if语句时,首先判断表达式的真假;若表达式的值为真(True),则执行语句块;若表达式的值为假(False),则跳过语句块,继续向下执行。

    • 格式2


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

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

    • 格式3


    if 表达式1:
    语句块1
    elif 表达式2:
    语句块2
    ...

    else:
    语句块n
    1. elif的个数不限

    2. else可以不写

    • 练习:


    1.输入两个整数,打印较大的那个值
    2.输入三个整数,按照从小到大的顺序打印
    3.输入一个三位数,打印其个位、十位、百位上的数
    4.输入一个年份,判断是否为闰年,是打印一句话,不是打印另一句话
    5.输入一个整数,判断其是否既能被3整除,又能被5整除
  • 循环结构(while)

    • 格式


    while 表达式:
    语句块

    执行流程:当程序执行到while语句时,首先判断表达式的真假。当表达式的值为真时,执行对应的语句块,之后返回while,继续判断表达式的真假;若表达式的真假,则跳过语句块。

    1. 表达式也叫循环条件

    2. 语句块也叫循环体

    3. 表达式一直成立称为死循环

    4. break:跳出循环

    5. continue:结束本次循环,进入下次循环

    6. 结合else使用:循环正常退出,执行else后的语句块;非正常(break)退出,则不执行else语句块。


      i = 1

      while i <= 10:
         print(i)
         i += 1
         break
      else:
         print('结束')
    • 练习:


    1.计算1~100之间所有整数的和
    2.打印字符a~z
    3.打印字符Z~A
    4.循环输入10个字符,大写转为小写,小写转为大写,其他字符不处理
    5.思考:循环能否嵌套,想一想其应用场景及执行流程

posted @ 2018-03-10 20:37  pythonsonline  阅读(530)  评论(0编辑  收藏  举报