Python基础_02

Python基础_02

一、算数运算符的优先级

**幂数 > 负号 > 乘、除、余 > 加、减

提高运算符的优先级别 使用()包含

例:

print(-2 ** 2)  # -4
print((-2) ** 2) # 4

二、复合赋值运算符

  • 简单赋值运算符

    • = 将等号右边的数据赋值给左边的变量(a = 10)
  • 复合赋值运算符

    在进行赋值时 先操作了算术运算

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

例:

num = 100
num -= 10  # num = num - 10 = 100 - 10 = 90
print(num)

num %= 8   # num = num % 8 = 90 % 8 = 2
print(num)

num **= 3  # num = num ** 3 = num ** 3 = 8
print(num)

三、比较运算符

  • 比较两个数据判断大小

    • >判断前者是否大于后者
    • >=判断前者是否大于或等于后者
    • <判断前者是否小于后者
    • <=判断前者是否小于或等于后者
    • ==判断前者是否等于后者
    • !=判断前者是否不等于后者

    比较运算符运行结果是布尔类型的 Ture和False

    算数运算符优先级高于比较运算符

例:

a = 10
b = 3

res = a + b > b * 2
print(res)   # True

res = a - b <= a % b
print(res)   # False

# 判断一个数是否为偶数
num = 11
res = num % 2 == 0
print(res)  # False

# 获取个位上的数   除以十取余
res = num % 10
print(res)   # 1

"""
如何获取十位上的数据
1.可以将十位上的数处理成个位上的数  整除10:245//10
2.将处理后的结果对10取余   24 % 10 = 4
"""

四、逻辑运算符

  • 逻辑运算符是用来操作逻辑关系的
    • 逻辑与 and
      • 连接的条件必须同时成立,结果才成立
    • 逻辑或 or
      • 连接的条件成立其中之一即可
    • 逻辑非 not
      • 对条件结果进行取反操作,真变假,假变真
      • 格式: not 条件
        • 如果条件成立结果为False
        • 如果条件不成立结果为Ture

例:

# 大学中评选奖学金  平均成绩和绩点
# 平均成绩在90以上 并且 绩点在4.5以上
score = float(input('请输入平均成绩:'))
gpa = float(input('请输入绩点:'))
res = score > 90 and gpa > 4.5
print(res)

"""
判断一个年是否是闰年
闰年:普通闰年和世纪闰年
    普通闰年:能被4整除但是不能被100整除
    世纪闰年:能被400整除
"""
year = int(input('请输入年份:'))
# common = year % 4 == 0 and year % 100 != 0
# century = year % 400 == 0
# res = common or century
res = (year % 4 == 0 and year % 100 != 0) or year % 400 == 0
print(res)

# 判断输入的月份是否为第三季度  7、8、9月
month = int(input('请输入月份:'))
res = month == 7 or month == 8 or month == 9
print(res)

# 判断一个数是否为奇数
num = int(input('输入一个数:'))
res = not (num % 2 == 0)
print(res)

# 输入一个月份,判断其是否在1-12之间
month = int(input('输入一个月份:'))
res = not (month < 1 or month > 12)
print(res)
# 区间形式的范围判断
# res = 1 <= month <=12

五、成员运算符

  • 成员:众多中的一个
  • 应用在容器型数据的元素判断的
  • 判断数据是否在某个容器型数据中
  • 字符串是一个容器型类型,元素是字符【长度为1的字符串称为字符,比如’a’】
    • 字符串就是由0个或者多个字符拼接起来的
      • 0个字符的情况下称为空字符串 ‘’
  • 成员运算符 in
    • 格式: 数据 in 容器型数据
    • 逻辑: 把数据当做一个整体,判断数据是否包含在容器中
  • 成员运算符 not in
    • 格式: 数据 not in 容器型数据
    • 逻辑: 把数据当做一个整体,判断数据是否不在容器中

例:

s = 'hello'
res = 'h' in s
print(res)  # True

res = 'hl' in s
print(res)  # False

res = 'h' not in s
print(res)  # False

六、流程控制语句

  • 流程控制语句:通过代码逻辑控制程序的执行流程
  • 程序的流程有三种
    • 顺序结构语句
      特点:代码会从第一行到最后一行逐行运行【每条语句都会执行】
    • 分支结构语句
      特点:按照逻辑条件满足是否,决定逻辑操作是否运行
    • 循环结构语句
      特点:没有满足某个条件,就需要一直循环直到满足条件为止

七、分支结构语句

  • 分支结构语句三种形态:

    • 单分支结构

      • 在顺序流程过程中 监测数据是否达到某个状态点 如果达到这个状态点按照状态点的流程进行操作
      • 如果没有达到的话 按照原流程进行操作
      • 例如:
        学校 — 回家
        如果时间早,在6点之前回家 先去洗车 —再回家
        语法:
        if 条件
        满足条件执行的操作
        解释:如果条件满足 就执行相应的操作
        注意:相应的操作的执行 要看条件是否满足 体现这种这种关系使用的是代码块包含的结构
        代码块包含: 冒号+四个空格的缩进(默认tap键是四个空格)
      print('从学校出发')
      hour = 17
      if hour < 18:
          print('洗车')
      print('回家')
      
    • 双分支结构

      • 相当于十字路口,是向左还是向右
      • 语法:
        if 条件:
        满足条件执行的操作
        else:
        不满足条件执行的操作
        解读:
        如果条件满足 做事情A 否则做事情B
    # 简单双分支的例子
    # 做一个成绩判定器: 判断输入的成绩是及格还是不及格
    score = float(input('成绩:'))
    if score >= 60:
        print('及格')
    else:
        print('不及格')
    
    • 多分支结构

      • 出现了3种及其以上的选择

      • 语法:
        if 条件1:
        操作1
        elif 条件2:
        操作2

        elif 条件n:
        操作n
        else:
        以上条件都不满足 执行的操作

        这个else语句可以省略
        elif ==== else if
        如果与否则是对立面, 执行了如果 就不会执行否则

      # 多分支的案例
      # 给成绩分等级
      """
          >=90  A
          >=80  B
          >=70  C
          >=60  D
          <60   E
      """
      score = float(input('请输入成绩:'))
      if score >= 90:
          print('A')
      elif score >= 80:  # score 肯定是小于90
          print('B')
      elif score >= 70:  # score < 80
          print('C')
      elif score >= 60:
          print('D')
      else:
          print('E')
      
"""
分支语句语句嵌套
    在满足某个条件的基础上还需要再次进行逻辑判断
"""
"""
需求:
    计算加油的金额
    因为油号不同,价格不同,优惠也不一样
    92 8元/L  添加30L以上 打8折
    95 8.8元/L 添加25L以上 打8折
    98 9.5元/L 添加20L以上 打9折
"""
oil_num = int(input('请输入油号:'))
litre = float(input('加油的升数(L): '))
# 判断油号
if oil_num == 92:
    if litre >= 30:
        payment = 8 * litre * 0.8
    else:
        payment = 8 * litre
elif oil_num == 95:
    # pass  # 代码块必须有内容  当前没有写逻辑可以使用pass占位
    if litre >= 25:
        payment = 8.8 * litre * 0.8
    else:
        payment = 8.8 * litre
else:
    # pass  # 空白代码块的占位符
    # if litre >= 30:
    #     payment = 9.5 * litre * 0.8
    # elif litre >= 25:
    #     payment = 9.5 * litre * 0.85
    # elif litre >= 20:
    #     payment = 9.5 * litre * 0.9
    # else:
    #     payment = 9.5 * litre
    if litre < 20:
        payment = 9.5 * litre
    elif litre < 25:
        payment = 9.5 * litre * 0.9
    elif litre < 30:
        payment = 9.5 * litre * 0.85
    else:
        payment = 9.5 * litre * 0.8

print(oil_num, '号油添加', litre, '升的油价是', payment)

八、循环语句结构

循环: 周而复始 重复做一件事
一直重复操作,没有终止,在编程中称为死循环【要避免】
常见的循环结束状态:
1.循环满N次 比如:跑满五圈
2.循环达到某个条件 比如:跑满800米

  • Python中提供两个循环结构:

    1. for-in循环【适合于循环满N次】

    ​ 本质上实在遍历容器想数据,在遍历获取元素的过程中进行相应的逻辑 判断
    ​ 容器型数据中有几个元素,这个循环就执行几次

    • 语法:
      for 变量名 in 容器型数据:
      循环体
      解释:
      in 进入容器中拿元素数据
      变量名 in进入拿到数据后 赋值给变量名
      循环结束点: in到容器中 没有数据可拿的时候 循环结束

    例:

    s = 'hello'
    # 逐个将字符串s中的元素取出来
    for ch in s:
        print(ch)
    
    # 获取字符串中小于l的字符
    for ch1 in s:
        if ch1 < 'l':
            print(ch1)
    
    # 假入跑100圈  使用循环的时候  可以使用range快速生成一个等差数列
    """
    range(stop)
        设定一个结束值,等差数列是从0开始 步长为1 到stop[不包含]结束
            range(10) --- 0 1 2 3 4 5 6 7 8 9
    range(start,stop)
        设定起始值和结束值,等差数列是从start[包含]开始 步长为1 到stop[不包含]结束
        range(1,11) --- 1 2 3 4 5 6 7 8 9 10
    range(start,stop,step)
        step步长
            正数 --- 生成递增的等差数列,起始值<结束值
            负数 --- 生成递减的等差数列,起始值>结束值
        range(2,10,2)  --- 2 4 6 8
        range(10,2,-2) --- 10 8 6 4 
    """
    
    for ele in range(1,101):
        print('跑第',ele,'圈')
    
    for ele1 in range(0,100,5):
        print(ele1)
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值