day3-运算符和分支

day3-运算符和分支

01.逻辑运算符:
1.and(逻辑与运算)

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

2)运算规则:条件1 and 条件2 两个条件都成立,结果就是True;只要有一个条件不成立,结果就是False

True and True   -  True
True and False  -   False
False and True  -   False
False and False     -   False

案例:判断num是否能同时被3和7整除

num = 42
# num是否能够被3整除:num % 3 == 0
# num是否能够被7整除:num % 7 == 0
print('num是否能同时被3和7整除:', num % 3 == 0 and num % 7 == 0)

练习1:判断num是否是能够被7整除的偶数

num = 34
# num能够被7整除:num % 7 == 0
# num是偶数:num % 2 == 0
print('num是否是能够被7整除的偶数:', num % 7 == 0 and num % 2 == 0)
2.or(逻辑或运算)

1)应用场景:如果要求两个条件中有一个条件成立就行,就使用or来对这两个条件进行连接,相当于生活中的或者。

2)运算规则:条件1 or 条件2 - 只要有一个条件成立结果就是True,否则结果是False

True or True    -   True
True or False   -   True
False or True   -   True
False or False  -   False

练习1:判断num是否能够被3或者7整除

num = 23
print(num % 3 == 0 or num % 7 == 0)

练习2:判断year对应的年份是否是闰年什么是闰年:

  • 什么是闰年:

    • 世纪闰年(能被400整除的年)

    • 普通闰年(能被4整除但是不能被100整除)两种

year = 2008

# 世纪闰年: year % 400 == 0
# 普通闰年: year % 4 == 0 and year % 100 != 0
print((year % 400 == 0) or (year % 4 == 0 and year % 100 != 0))
3.not(逻辑非运算)

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

2)运算规则:not 条件 - 对条件进行否定

not True        -       False
not False       -       True

案例1:判断age对应的值是否不大于18

age = 29
print(not age > 18)
print(age <= 18)

案例2:判断num是否不是偶数

num = 29
print(not num % 2 == 0)
print(num % 2 != 0)
print(num % 2 == 1)

判断num是否不能同时被3和7整除: 能被3整除但是不能被7整除、能被7整除但是不能被3整除、既不能被3整除也不能被7整除

num = 65
print(num % 3 == 0 or num % 7 != 0)
print(num % 7 == 0 or num % 3 != 0)
print(num % 3 != 0 or num % 7 != 0)

能同时被3和7整除的数,一定能够被3和7的最小公倍数整除

print(num % 21 != 0)
02.赋值运算符
  • 赋值运算符:=、+=、-=、*=、/=、%=、//=、**=
    • 注意:不管是什么样的赋值运算符,最终都是为了将一个数据保存到一个变量中
  1. =

​ 变量名 = 数据 - 直接将指定数据保存到指定的变量中

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

a = 10
b = 20
a = 100
print(a)

2.+=

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

注意:这儿的变量必须是已经赋值过(定义过)的变量

num = 13
num += 21  # 等价于 num = num + 21
print(num)

num1 = 25
num1 -= 23  # 等价于 num1 =  num1 - 23
print(num1)


num2 = 8
num2 *= 4  # 等价于 num2 = num2 * 4
print(num2)

num3 = 50
num3 /= 10  # 等价于 num3 = num3 / 10
print(num3)

num4 = 45
num4 %= 5  # 等价于 num4 = num4 % 5
print(num4)

num5 = 56
num5 //= 6  # 等价于num5 = num5 // 6
print(num5)

num6 = 3
num6 **= 2  # 等价于num6 = num6 ** 2
print(num6)
03.运算符优先级

python中不同的运算符的优先级不同,优先级高的运算符先算

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

数学运算符: +(加) —(减) *(乘) /(除) %(取余) //(整除) **(幂运算)

比较运算符:> 大于 < 小于 >= 大于等于 <= 小于等于 == 等于 != 不等于

逻辑运算符: and(逻辑与) or(逻辑或) not(逻辑非)

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

有括号先算括号里面的

04.流程控制
  • 流程控制 - 通过代码控制程序执行过程
    • 根据代码执行过程的不同,可以将代码分成三种结构:
    • 顺序结构(默认) - 代码从上往下一条一条的执行,每条代码执行一次
    • 分支结构(if) - 根据条件选择执行或者不执行相关代码
    • 循环结构(for、while) - 代码写一遍,然后重复执行多次
print('hello world!')
print(100)
print('你好')

age = 26
if age >= 18:
    print('成年')
else:
    print('未成年')

print('--------------------------------华丽的分割线-------------------------------------')

for _ in range(100):
    print('hello world!')
05.if分支结构

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

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

"""
单分支语法:
if 表达式:
    执行语句

流程是:若表达式成立(True),就执行结构中的执行语句,
若表达式不成立,则跳过整个if结构,执行下面的语句
"""

age = int(input("请输入你得年龄:"))
if age >= 18:
    print("欢迎光临本会所!")
print("hallo world")

案例1:如果num是偶数就在控制台打印’偶数’

num = 46
if num % 2 == 0:
    print('偶数')

案例2:根据score的值在控制台打印’不及格’

score = 80
if score < 60:
    print('不及格')

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

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

"""
双分支语法:
if 表达式
    语句1
else:
    语句2
执行流程:假如表达式成立(True)就执行语句1,若表达式不成立,则执行语句2
 语句1 和 语句2 永远不会同时出现。
"""

age = int(input("请输入你的年龄"))
if age >= 18:
    print("你的年龄满足可以进入,欢迎光临")
else:
    print("少儿不宜,不能进入")

案例1:如果num是偶数就在控制台打印 ‘偶数’,否则打印 ‘奇数’

num = 56
if num % 2 == 0:
    print('偶数')
else:
    print('奇数')

案例2:根据score的值在控制台打印’不及格’或者’及格’

score = 70
if score < 60:
    print('不及格')
else:
    print('及格')

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

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

"""
语法:
if 条件1:
    代码块1
elif:
    代码块2
elif:
    代码块3
...
else:
    代码块N
    
执行过程:先判断条件1是否成立,如果成立直接执行代码块1然后整个分支结构结束;如果条件1不成立才去判断条件2是否成立,
然后就执行代码块2然后整个分支结构结束;如果条件2不成立才去判断条件3是否成立......如果前面的条件都不成立,才会执行elif后面的代码块。

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

案例1:根据score的值打印学生的等级

"""
大于90分表示优秀
大于80分表示良+
大于70表示良
大于60表示一般
低于60表示不及格
"""
score = int(input("请输入你的成绩:"))
if score > 90:
    print("优秀")
elif score > 80:
    print("良+")
elif score > 70:
    print("良")
elif score > 60:
    print("一般")
else:
    print("不及格")
06.for循环

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

for循环语法:

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

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

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

3)执行过程
让变量去序列中取值,一个一个取,取完为止,每取一个值就执行一次循环体。
for循环的循环次数和序列中的元素的个数有关
"""

for x in 'abc':
    print('hallo world!')
    print('你好')
    print(x)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值