python运算符与表达式

内容简介:
运算符与表达式 #
布尔类型的用法
关系运算符和逻辑运算符#
理解运算符的优先级#
使用if选择结构

表达式

  • 表达式是:符号与操作数的组合
    在这里插入图片描述

运算符

  • 赋值运算符: " = "

  • 算术运算符
    在这里插入图片描述

  • 关系运算符
    在这里插入图片描述

  • 逻辑运算符

    • 逻辑运算符(布尔运算符):是在逻辑值上的运算并创建出一个新逻辑
      在这里插入图片描述

    • 示例:根据月份判断该月份天数

      year = eval(input("请输入年份:"))
      month = eval(input("请输入月份:"))
      day_of_month = 0               # 建议将后面使用到的变量在程序的最上面进行赋初值操作
      is_leap_year = year % 4 == 0 and year % 100 != 0 or year % 400 == 0
      if month == 1 or month == 3 or month == 5 or month == 7 or month == 8 or month == 10 or month == 12:
          day_of_month = 31
      elif month == 4 or month == 6 or month == 9 or month == 11:
          day_of_month = 30
      elif month == 2:
          day_of_month = 28
          if is_leap_year:
              day_of_month += 1
      print(year, "年", month, "月一共有", day_of_month, "天")
      

运算符优先级和结合方向

  • 运算符优先级和结合方向决定了运算符的计算顺序
    在这里插入图片描述

布尔类型

  • 布尔类型的取值是True / False,Python中使用1表示True,0表示False

    • 非零数字转换为布尔值后是True
    • 零数字转换为布尔值后是False
    • 空字符串或None转为布尔值使False
  • 比较运算符:比较的结果就是一个布尔值
    在这里插入图片描述

    #布尔类型建议使用is开头 - 命名规范
    is_pighoof = True           # 布尔类型赋值
    print(type(is_pighoof))     # 打印is_pighoof变量的数据类型
    print(not(is_pighoof))      # not 是取反
    

流程图简介

  • 流程图是算法的一种图形化表示方式
    在这里插入图片描述
  • 示例
    在这里插入图片描述

条件if结构

  • if 结构:先判断后执行
    在这里插入图片描述

    # 计算圆面积
    # 1、接收用户输入圆半径;
    # 2、判断半径的值是否大于零;
    # 3、如果大于零,根据圆面积公式计算圆面积,否则显示输入错误;
    # 4、显示面积
    
    radius = eval(input("请输入一个圆的半径:"))
    if radius >= 0:     # 输入是合法的
        area = 3.14 * radius ** 2
        print("半径为{:.2f}的圆面积为:{:.2f}".format(radius, area))
    else:               # 输入不合法
        print("输入的圆半径小于0,非法输入!")
    
    # 进阶:使用time模块的函数来判断当前日期
    import time
    now = time.localtime()      # 返回一个当前时区的时间对象(struct_time)类型的元组
    print("当前时间", now)
    # month: 月份;    mday: day of month; wday: day of week;  yday: day of year
    print("{}-{}-{}".format(now.tm_year, now.tm_mon, now.tm_mday))
    

    注意:Python用缩进格式判别语句中变量的作用域

多向if-elif-else结构

  • 多向if结构
    在这里插入图片描述

  • math、turtle库应用示例

    # @功能描述:判断两点之间的距离
    
    import math
    import turtle
    
    # 我们把题目改成:判断用户输入的某个点是否在某个圆内
    # 1、我们要先指定一个圆心坐标(x1, y1)以及圆的半径(radius)
    # 2、再让用户输入需要判断的点坐标(x2, y2)
    
    # 首先指定一个要判断的圆半径和圆心点坐标
    radius = 50
    x1, y1 = 50, 50
    
    # 让用户输入要判断点的坐标
    x2 = eval(input("请输入要判断点的横坐标:"))
    y2 = eval(input("请输入要判断点的纵坐标:"))
    
    # ** -2 不能表示开平方!!!
    # ** 0.5
    # 判断逻辑:判断圆心点和输入点的距离是否大于半径
    distance = math.sqrt(math.pow(x1 - x2, 2) + math.pow(y1 - y2, 2))
    print("您输入的坐标点与圆心相距:", distance)
    message = ""
    if distance > 50:
        message = "您输入的点在圆外侧!"
    else:
        message = "您输入的点在圆内侧"
    print(message)
    pen = turtle.Pen()              # 获得画笔对象
    pen.up()                        # 起笔
    pen.goto(x1, y1)                # 到达圆心点
    pen.down()                      # 落笔
    pen.dot(5, "blue")              # 绘制一个蓝点
    # 我们要根据圆心点画一个圆 - 难点:需要重新计算起笔
    pen.up()
    pen.goto(x1, y1 - radius)
    pen.down()
    pen.circle(radius)
    # 绘制用户的点
    pen.up()
    pen.goto(x2, y2)
    pen.down()
    pen.dot(5, "red")
    # 打印判断结果
    pen.up()
    pen.goto(x2, y2 + 100)      # y轴+100 向上移动
    pen.write(message)
    turtle.done()
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值