day3_运算符和分支

1.逻辑运算符

and(与), or(或), not(非)

  1. and

应用场景:用来连接同时成立的条件,相当于生活中的并且
运算规则:条件1 and 条件2 - 两个条件同时成立才是True,只要有一个不成立,结果就是False

条件1逻辑运算符条件2结果
TrueandTrueTrue
TrueandFalseFalse
FalseandTrueFalse
FalseandFalseFalse
print(1 > 0 and 10 > 5)  # True

# 练习: 判断num是否是一个被7整除的偶数
num = 14
print(num % 7 == 0 and num % 2 == 0)

# 练习: 判断num是否是一个个位能被3整除的数
num = 19
temp = num % 10
print(temp % 3 == 0)
  1. or

    应用场景:要求两个条件中有一个满足要求即可,相当于生活中的或者
    运算规则:条件1 or 条件2 - 只要有一个条件成立结果就是True,否则结果是False

    条件1逻辑运算符条件2结果
    TrueorTrueTrue
    TrueorFalseTrue
    FalseorTrueTrue
    FalseorFalseFalse
# 练习: 判断num是否能被 3 或者被 7 整除
num = 414
print(num % 3 == 0 or num % 7 == 0)

# 练习: # 练习2:判断year对应的年份是否是闰年
# # 什么是闰年:闰年分为世纪闰年(能被400整除的年)和普通闰年(能被4整除但是不能被100整除)两种
year = 2008
if year % 4 == 0 and year % 100 != 0:
    print("是普通润年")
elif year % 400 == 0:
    print("是世纪闰年")
  1. not

应用场景:对条件进行否定的时候进行使用,相当于生活中的 “不”
运算规则:not 条件 —— 对条件进行否定

逻辑运算符条件结果
notTrueFalse
notFalseTrue
# 练习: 判断是否有WiFi
WiFi = True
print(not WiFi)  # False
# 练习: 判断num是否不能同时被 3 和 7 整除
num = 23
print(not(num % 3 == 0 and num % 7 == 0))  # True

2.赋值运算符

种类: =, +=, -=, *=, /=, //=, **=

  1. 普通赋值运算符: ( = ) 最常用
    变量名 = 数据 - 直接将值等数据保存到变量中
    *注意: 变量名可以是没定义过的,也可以是定义过的,但是定义过的再被使用原来的数据会被覆盖
tem = 10
print(tem)  # 10
num = 10
print(num)  # 10
num = 100
print(num)  # 100

复合赋值运算符: (+=,-=, *=, /=, //=, **= )
变量名 += 数据 -—> 变量名 = 变量名 + 数据
先将变量中的数据取出来,和后面的数据进行加法运算,再将结果赋值给前面的变量名中
*注意:在使用复合运算符的时候,变量必须是前面已经定义过的变量

num = 10
print(num)  # 10
num += 10
print(num)  # 20
num -= 10
print(num)  # 10
num *= 10
print(num)  # 100
num /= 10
print(num)  # 10.0

3.运算符的优先级

python中不同的运算符优先级不同,优先级高的运算符先运算
1.数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符 (有括号先算括号)

数学运算符的优先级: ** > *、/、%、// > +、-

逻辑运算符的优先级: and > or

4.流程控制

流程控制 - > 通过代码控制程序的执行过程
1.根据代码的执行过程不同,可以将代码分成三种结构
顺序结构(默认) - 代码从上往下一条一条执行,每条代码执行一次
分支结构(if) - 根据不同的条件执行不同的代码
循环结构(for、while) - 代码只写一遍,但可以运行多次

# 顺序结构
print(10)  # 10
print(20)  # 20
print(30)  # 30
# 分支结构
age = 29
if age >= 18:
    print("成年")
else:
    print("未成年")
# 循环结构
for i in range(100):
    print(i)
    print("hello world")

5.分支结构详解

if -> 单分支结构
条件成立执行某个操作,条件不成立就不执行

语法:
if 条件语句:
代码块

说明:
if -> 关键字
条件语句 -> 可以是任何有结果的表达式
: -> 固定写法,英文输入法的冒号。
代码块 -> 结构上和if保持一个缩进的一条或者多条语句(一个tab)
逻辑上,代码开就是需要满足条件才执行的代码

 # 判断num是不是一个偶数
num = 98
if num % 2 == 0:
    print("是一个偶数")

# 根据score的值在控制台打印'不及格'
score = 89
if score < 90:
    print("不及格")

if -> 双分支结构
条件成立执行某个操作,不成立执行另外某个操作

语法:
if 条件语句:
代码块1
else:
代码块2

# 案例:如果num是偶数就在控制台打印 '偶数',否则打印 '奇数'
num = 90
if num % 2 == 0:
    print("是一个偶数")
else:
    print("是一个奇数")
# 案例2:根据score的值在控制台打印'不及格'或者'及格'
score = 85
if score > 60:
    print("及格")
else:
    print("不及格")

if -> 多分支结构
不同的条件执行不同的语句

语法:
if 条件语句1:
代码块1
elif 条件语句2:
代码块2:
elif 条件语句3:
代码块3

else:
代码块N

elif -> 可以有很多个。每一个有不同的条件
else -> 放在判断语句的最后,可有可无
执行过程: 先判断条件1是否成立,如果成立执行代码块1,否则判断条件2是否成立,如果成立则执行代码块2,否则判断条件3是否成立,如果成立则执行代码块3,以此类推。。如果条件都不成立,则执行else的代码块。
总结:后面的条件都是在前面条件不成立的情况下才能判断的。

# 案例1:根据score的值打印学生的等级
# >= 90  - A;  80 ~ 89 - B;  60 ~ 79 - C; < 60 - D
score = 67
if score < 60:
    print('D')
elif 60 <= score < 80:
    print('C')
elif 80 <= score < 90:
    print('B')
elif 90 <= score < 100:
    print('A')

6.循环结构详解

循环结构的作用:让代码重复执行

for 循环

语法:
for 变量 in 序列:
循环体

说明:
for - 关键字,固定写法
变量名 - 可以是任何变量的变量名
in - 关键字,固定写法
序列 - 任何容器型数据类型的数据 -> 字符串、列表、字典、元祖、集合、迭代器、生成器、range等
: - 固定写法
循环体 - 结构上,就是和for保持一个缩进的语句
逻辑上,循环体就是需要重复执行的代码
补充:元素 - 一个容器可以同时保存多个数据,其中每个独立的数据就是这个序列的元素
执行过程:
让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体。
for循环的循环次数和序列中元素的个数有关

for i in "abd":
    print("hello world") # 连续打印三遍 hello world
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值