day03-运算符和分支

day03-运算符和分支

01逻辑运算符

1. 逻辑运算符: and 、or 、not

2. and(逻辑与运算)

应用场景: 用来连接要求同时成立的两个条件,相当于生活当中的并且

运算规则: 条件1 and 条件2 – 两个条件都是True,结果才是True

举例输出结果
True and TrueTrue
True and FalseFalse
False and TrueFalse
False and FalseFalse
# 案例: 判断num是否能够同时被3和7同时整除
num = int(input('请输入num的值:'))
print(num % 3 == 0 and num % 7 == 0)
# 练习1: 判断num是否是能够被7整除的偶数
num = int(input('请输入num的值:'))
print(num % 7 == 0 and num % 2 == 0)
# 练习2: 判断num是否是个位数能够被3整除的数
num = int(input('请输入num的值:'))
print(num % 10 % 3 == 0)

3. or(逻辑或运算)

应用场景: 如果要求两个条件中有一个条件成立就行,就使用or来对这两个条件进行连接

运算规则: 条件1 or 条件2 – 只要有一个条件为True,结果就是True,否则结果就是False

举例输出结果
True or TrueTrue
True or FalseTrue
False or TrueTrue
False or FalseFalse
# 练习1: 判断num是否能够被3或者7整除
num = 23
print(num % 3 == 0 or num % 7 == 0)
输出结果为:
	False
# 练习2: 判断year对应的年份是否是闰年
# 闰年: 世纪闰年(能够被400整除)和普通闰年(能够被4整除不能被100整除)
year = 2008
print(year % 400 == 0 or (year % 4 == 0 and year % 100 != 0))
输出结果为: 
	True

4. not(逻辑非)

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

运算规则: not 条件 – 对条件进行否定

举例输出结果
not TrueFalse
not FalseTrue
# 案例1: 判断age对应的值是否不大于18
age = 29
print(not age > 18)
print(age <= 18)
输出结果为:
	False
# 案例2: 判断num是否不是偶数
num = 29
print(not num % 2 == 0)
print(num % 2 != 0)
print(num % 2 == 1)
输出结果为:
	True
# 案例3: 判断num是否不能同时被3和7整除
num = 23
print(not(num % 3 == 7 and num % 7 == 0))

# 能同时被3和7整除的数,一定能够被3和7的最小公倍数整除
print(num % 21 != 0)
输出结果为:
	True

02赋值运算符

1. 赋值运算符: = 、+= 、-= 、*= 、/= 、%= 、//= 、**=

注意: 不管是什么样的赋值运算符,最终都是为了将一个数据保存到一个变量中

2. =

用法: 变量名 = 数据

直接将指定数据保存到指定的变量中

注意: = 前面的变量名可以是没有定义过的变量的变量名,也可以是已经定义过的变量的变量名

3. +=

用法: 变量名 += 数据 – 先将变量中保存的数据取出来和后面的数据进行加法运算,再将运算结果保存到前面的变量中

注意: 这里的变量必须是已经赋值过(定义过)的变量
a = 30
a += 10  # a = a + 10 
print(a)
输出结果为: 
	40
a -= 10  # a = a - 10 = 40 - 10
print(a)
输出结果为:
	30
a %= 3  # a = a % 3 = 30 % 3
print(a)
输出结果为:
	0

03运算符优先级

1. python中不同的运算符的优先级不同,优先级高的运算符先算
2. 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
3. 数学运算符: ** > * 、/ 、% 、// > + 、-
4. 逻辑运算符: and > or
5. 有括号先算括号里面的

04流程控制

1. 流程控制 – 通过代码控制程序执行过程
2. 根据代码执行过程的不同,可以将代码分成三种结果:
    1. 顺序结构(默认) – 代码从上往下一条一条的执行,每条代码只执行一次
    2. 分支结构(if) – 根据条件选择性的执行对应的代码或者不执行相关的代码
    3. 循环结构(for、while) – 代码写一遍,然后重复执行多次

05分支结构

1. if 单分支结构: 如果xxx就xxx

条件成立执行某个操作,条件不成立这个操作就不执行

语法:

if 条件语句:
    代码块
说明
if关键字,固定写法
条件语句可以是任何有结果的表达式,一般是判断语句
:固定写法,必须是英文输入法下面的冒号
代码块结构上是和if保持一个缩进的一条或者多条语(至少一条;一个缩进至少是四个空格或者是一次tab键)
逻辑上,代码块就是需要满足条件才执行的代码
# 案例1: 如果num是偶数,就在控制台打印偶数
num = 28
if num % 2 == 0:
	print('这个数是偶数')
# 案例2: 根据score的值在控制台打印不及格
score = 77
if score < 60:
	print('不及格')
print('恭喜你,及格了')

2. if 双分支结构: 如果xxx就xxx否则就xxx

条件成立执行某个操作,条件不成立的时候要执行另外一个操作

语法:

if 条件语句:
    代码块1(条件成立的时候会执行的代码)
else:
    代码块2(条件不成立的时候会执行的代码)
    
代码块3(不管条件成不成立都会执行)
# 案例3: 如果num是偶数就在控制台打印“偶数”,否则打印“奇数”
num = 25
if num % 2 == 0:
    print('偶数')
else:
    print('奇数')
输出结果为:
	奇数
# 案例4: 根据score的值在控制台打印“不及格”或者“及格”
score = 80
if score < 60:
    print('不及格')
else:
    print('及格')
输出结果为:
	及格

3. if 多分支结构: 如果xxx就xxx,如果xxx就xxx,如果xxx就xxx,…

根据不同的条件做不同的事情

语法:

if 条件1:
    代码块1
elif 条件2:
    代码块2
elif 条件3:
    代码块3
...
else(可以省略):
    代码块n

执行过程:

先判断条件1是否成立,如果成立直接执行代码块1然后整个分支结构结束

如果条件1不成立才去判断条件2是否成立,成立就执行代码块2然后整个分支结构结束

如果条件2不成立才去判断条件3是否成立…如果前面的条件都不成立,才会执行else后面的代码块

结论: 后面的条件是在前面的条件不成立的情况下进行判断的

# 案例1: 根据score的值打印学生的等级
# >= 90 - A ; 80 ~ 89 - B ; 60 ~ 79 - C ; < 60 - D
score = int(input('请输入你的分数:'))
if score < 60:
    print('你的成绩为D')
elif score < 80:
    print('你的成绩为C')
elif score < 90:
    print('你的成绩为B')
else:
    print('你的成绩为A')

06for循环

1. 循环结构的作用: 让代码重复执行
2. for循环
语法:

for 变量名 in 序列:
	循环体
说明
for关键字,固定写法
变量名可以是任何变量的变量名
in关键字,固定写法
序列任何容器型数据类型的数据
常见的序列: 字符串、列表、字典、元组、迭代器、生成器、range等
:固定写法
循环体结构上,就是和for保持一个缩进的一条或者多条语句(至少一条)
逻辑上,循环体就是需要重复执行的代码

执行过程:

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

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

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

for x in 'abcdf':
    print('hello world')
输出的结果为:

hello world
hello world
hello world
hello world
hello world
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值