运算符和分支

day 2运算符和分支

一、逻辑运算符:and、or、not

1、and(逻辑且运算)
1)应用场景:用来连接要求同时成立的两个条件,相当于生活中的并且。
2)运算规则:条件1 and 条件2 — 两个条件都为True,结果为True,只要有一个条件为False,结果为False。
# 案例1:判断231能否被3和7整除

num = 231
print(num % 3 == 0 and num % 7 ==0)

print(num % 21 == 0)

# 案例2:判断num 是否个位数能被3整除
# 1.第一种方法:
num = 109
print("num是否个位数能被3整除:",num % 10 % 3 == 0)
# 2.第二种方法:
num = 109
num1 = num % 10
print(num1 % 3 == 0)
# 3.第三种输入数字
num = int(input("请输入数字:"))
print(num % 10 % 3 == 0)

2、or (逻辑或运算)
1)应用场景:如果要求两个条件中有一个条件成立,就用来连接,相当于生活中的或者。
2)运算规则:条件1 or 条件2 — 只要有一个条件成立结果就是True,否则就是False。
# 案例1.判断num是否能被3或者7整除
num = 23
print("num能否被3或者7整除:",num % 3 == 0 or num % 7 == 0)
# 案例2.判断2008年是否是闰年(闰年能被400整除,或者能被4整除且不能被100整除的年份)
year = 2008
print((year % 400 ==0) or (year % 4 ==0 and year % 100 != 0))

3、not (逻辑非运算)
1)应用场景:对条件进行否定,相当于生活中的”不“
2)运算规则:not 条件
# 案例1 :判断age 对应的值是否不大于18
age = 23
print(not age > 18)

# 案例2:判断num是否不能同时被3和7 整除
num = 26
print(not(num % 3 == 0 and num % 7 ==0))

二、赋值运算符

  • 赋值运算符:= 、+= 、-+、 *=、/ =、//=、%= 、**=
  • 注意:不管是什么样的赋值运算,最终都是为了将一个数据保存到一个变量中。
1、=
语法:变量名 = 数据 — 直接将指定的数据保存到指定的变量中。(这儿的变量名可以是没有定义过的变量,也可以是定义过的变量)
a = 10
b = 10
a = 100
print(a)  # 100
2、+=
变量名 += 数据 - 表示先将变量中的保存的数据取出来和后面的数据进行加法运算,在将运算结果保存到前面的变量名中。
  • 注意:这儿的变量必须是已经赋值过(定义过)的变量
a = 100
b = 20
b += 10 # b = b + 10
print(b)  # 30
a //= 3  # a = a // 3
print(a) #33

三、运算符优先级

  • 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)

  • 数学运算符:**(幂运算)> 乘、除、%(取余)、//(整除) > 加减

  • 逻辑运算符:and > or

  • 有括号先算括号里面的

四、流程控制

1、定义:流程控制是指通过代码控制执行过程
2、根据代码的执行过程不同,可以将代码分成三种结构
  • 顺序结构(默认) – 代码从上往下一条一条的执行,每行代码执行一次
  • 分支结构(if) - - 根据条件选择性的执行相关的代码
  • 循环结构(for) – 代码写一遍,重复执行多次

五、if分支结构

1、if 单分支结构:如果xxx就xxx。(表示条件成立执行某个操作,条件不成立就不执行这个操作)
1)语法:

if 条件语句:

​ 代码块

2)说明:

if — 关键字。固定写法

条件语句 — 任何有结果的表达式,一般是判断语句

: — 固定写法(注意:必须是英文状态下的冒号)

代码块 — 结构上和if保持一个缩进的一条或者多条语句(至少一条,一个缩进一般为4个空格,或者按一次tab键),逻辑上,代码块需要满足条件才执行代码

# 案例:如果num是偶数,就在控制台打印”偶数“
num = 22
if num % 2 == 0:
    print("偶数")
2、if 双分支结构:如果xxx就xxx,否则就xxx。(表示条件成立执行某个操作,条件不成立执行另一个操作)
语法:

if 条件语句:

​ 代码块1(条件成立时执行的代码)(缩进表示此代码块受条件的控制)

else:

​ 代码块2 (条件不成立时执行的代码)

代码块3(不管条件成立与否都会执行)

# 案例:根据socre的值在控制台打印“不及格”“及格”
socre = 80
if socre >= 60:
    print("及格")
else:
    print("不及格")


3、if多分支结构:如果xxx 就xxx,如果xxx 就xxx,如果xxx 就xxx,…(表示根据不同条件做不同的事)
1)语法:

if 条件1:

​ 代码块1

elif 条件2:

​ 代码块2

else:

​ 代码块n

2)执行过程:先判断条件1是否成立,如果成立直接执行代码块1,然后分支结构结束;如果条件1不成立,才去判断条件2是否成立,如果成立直接执行代码块2,然后整个分支结构结束;如果前面的条件都不成立,才会执行else后面的代码块。
  • 总结:后面的条件是前面的条件不成立的情况下判断的。
# 案例:根据socre的值打印学生的等级,>=90 - A; 80-89 -B;60-79 - C;60以下打印D
socre = 69
if socre >= 90:
    print("A")
elif socre >= 80:
    print("B")
elif socre >= 60:
    print("C")
else:
    print("D")

六、for循环

1、for 循环
1)语法:

for 变量 in 序列:

​ 循环体

2)说明:

for – 关键字,固定写法

变量 – 可以是任何变量的变量名

in – 关键字,固定写法

序列 – 任何容器型数据类型的数据。常见的序列:str 、列表、字典、元组、集合、迭代器、range等

循环体 — 结构上和for保持一个缩进的一条或者多条语句(至少一条),逻辑上,循环体就是需要重复执行的代码

补充: 元素 - - 一个容器可以同时保存多个数据,其中每一个独立的数据就是这个序列的元素

3)执行过程:

让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体。

for循环的循环次数和序列中的元素个数有关

for x in "abc":    #abc 共3个元素,会执行3次循环
    print("你好")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值