day03-运算符和分支

1.运算符

1.逻辑运算符:and、or、not
  • and(逻辑与运算)

    • 应用场景:用来连接要求同时成立的两个条见,相当于生活中并且。
    • 运算规则:条件1 and 条件2 — 两个条件都成立,结果就是True;只要有一个条件不成立,结果就是False。
    True and True  - True
    True and False - False
    False and False - False
    False and True - False
    
    #例
    num=345
    print('num是否能同时被3和7整除',num%3==0 and num%7==0)
    #小练习
    num=14
    print('判断num是否是能被7整除的偶数',num%7==0 and num%2==0)
    print('判断num是否是个位数能够被3整除的数',num%10%3==0)
    
  • or(逻辑或运算)

    • 应用场景:如果要求两个条件中有一个条件成立就行,就使用or来对这两个条件进行连接,相当于生活中的或者。
    • 运算规则:条件1 or 条件2 —只要有一个条件成立结果就是True,否则就是False。
    True or True - True
    True or Fase - True
    False or True - True
    False or False - False
    
    #练习1:判断num是否能够被3或者7整除
    num = 23
    print('判断num是否能够被3或者7整除',num%3==0 or num%7==0)
    #练习2:判断year对应的年份是否是闰年
    # 什么是闰年:闰年分为世纪闰年(能被400整除的年)和普通闰年(能被4整除但是不能被100整除)两种
    year = 2008
    print('判断year对应的年份是否是闰年',year%400==0 or (year%4==0 and year%100!=0))
    
  • not(逻辑非)

    • 应用场景:对条件进行否定的时候使用,相当于生活中的‘不’
    • 运算规则:not 条件 — 对条件进行否定
    not True - False
    not False - True
    
    #案例1:判断age对应的值是否不大于18
    age=29
    print(not age>18)
    
    #案例2:判断num是否不是偶数
    num=23
    print(not num%2==0)
    
    #案例3:num是否不能同时被3和7整除,能被3整除不能被7整除,能被7整除不能被3整除
    num=23
    print((num%3==0 or num%7==0) and not(num%3==0 and num%7==0))
    #能被3和7同时整除的数,一定能够被3和7的最小公倍数整除
    print((num%3==0 or num%7==0) and not(num%21)==0)
    
2.赋值运算符:=、+=、-=、*=、/=、//=、%=、**=
    1. =
    • 变量名=数据 — 直接将指定数据保存到指定变量中
    • 注意: = 前面的变量可以是没有定义过的变量名,也可以是已定义过的变量的变量名
    a=10
    b=20
    a=30
    print(a)#30
    
    1. +=
    • 变量名+=数据 – 先将变量中保存的数据取出来和后面的数据相加,然后再赋值给前面的变量
    • 注意:这儿的变量必须是已经赋值过(定义过)的变量
    b=6
    b+=5
    print(b)#11
    
3.运算符优先级:python中不同运算符的优先级不同,优先级高的运算符先算
  • 数学运算符>比较运算符>逻辑运算符>赋值运算符(最低)
    • 数学运算符:** > * 、/、% 、// > + 、-
    • 逻辑运算符:and > or
    • 有括号先算括号里面的

2.流程控制——通过代码控制程序执行过程

根据代码执行过程的不同,可以将代码分成三种结构
  • 顺序结构(默认):代码从上往下一条一条的执行,每条代码执行一次

  • 分支结构(if):根据条件选择执行或者不执行相关代码

    age=27
    if age>18:
        print('成年')
    else:
        print('未成年')
    
    • if单分支结构:如果xxx就xxx
    1. 语法
    if 条件语句:
         代码块
    
    1. 说明
    if - 关键字、固定写法
    条件语句 - 可以是任何有结果的表达式,一般判断语句
    :   -    固定写法(注意必须输入英文输入法下面的冒号)
    代码块  -  结构上,是和if保持一个缩进的一条或者多条语句(至少一条)
              逻辑上,代码块就是需要满足条件才执行的代码
    
    #案例
    num=28
    if num%2==0:
        print('偶数')
    
    • if双分支结构:如果xxx就xxx,否则就xxx
    1. 语法
    if 条件语句:
        代码块1
    else:
        代码块2
    
    • if多分枝结构:如果xxx就xxx,如果xxx就xxx,如果xxx就xxx,…
    1. 语法
    if 条件1:
       代码块1
    if 条件2:
       代码块2
    if 条件3:
       代码块3
     ...
    else:
       代码块N
    执行过程:先判断条件1是否成立,如果成立直接执行代码块1然后整个分支结束;如果1不成立才去判断条件2是否成立,成立就执行代码块2然后结束;如果条件2不成立取判断条件3是否成立......如果前面的条件都不成立,才会执行else后面的代码块。
    
    总结:后面的条件是在前面的条件不成立的情况下进行判断的。
    
    #示例:根据score的值打印学生的等级,
    # >=90  - A;  80 ~ 89 - B;  60 ~ 79- C; <60 - D
    score = 67
    score=67
    if score>=90:
        print("A")
    elif 80<=score<90:
        print("B")
    elif 60<=score<80:
        print('C')
    else:
        print('D')
    
  • 循环结构(for、while):代码写一遍,然后重复执行多次

    1. 语法
    for 变量名 in 序列:
         循环体
    
    1. 说明
    for - 关键字;固定写法
    变量名 - 可以是任何变量的变量名
    in - 关键字;固定写法
    序列 - 任何容器型数据类型的数据。常见的序列:字符串、列表、字典、元组、集合、迭代器、生成器、range等。
    :
    :
    循环体  -  结构上,就是和for保持一个缩进的一条或者多条语句(至少一条)
              逻辑上,循环体就是需要重复执行的代码
    
    补充:元素 -- 一个容器可以同时保存多个数据,其中每一个独立的数据就是这个序列的元素
    
    1. 执行过程
      • 让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体
    #案例
    for _ in range(10):
        print('hello world!')#打印10遍
        
    for _ in 'abc':
        print('hello world!')#打印3次
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值