day3.运算符号和分支

本文介绍了Python中的逻辑运算符,包括and用于连接并要求同时满足的条件,or表示条件之一满足即可,not用于条件否定。还讲解了赋值运算符的用法,并探讨了运算符的优先级。此外,文章还涉及流程控制的基础知识,如顺序、分支和循环结构,特别提到了if单双多分支结构以及for循环的工作原理。
摘要由CSDN通过智能技术生成

一、逻辑运算符

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
print(num % 7 == 0 and num % 2 == 0)

#练习2:判断num是否是个位数能够被3整除的数
num = 109
print(num % 10 % 3 == 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 = 20
print(num % 3 == 0 or num % 7 == 0)

#练习2:判断year对应的年份是否是闰年
#什么是闰年:闰年分为世纪闰年(能被400整除的年)和普通闰年(能被4整除但是不能被100整除)两种
year = 2005
#世纪闰年: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 = 19
print(not age > 18)
print(age <= 18)

#案例2:判断num是否不是偶数
num = 10 
print(not num % 2 == 0 )
print(num % 2 != 0)
print(num % 2 == 1)

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

# num是否不能同时被3和7整除: 能被3整除但是不能被7整除、能被7整除但是不能被3整除、既不能被3整除也不能被7整除
print((num % 3 == 0 and num % 7 != 0) or (num % 7 == 0 and num % 3 != 0) or (num % 3 != 0 and num % 7 != 0))

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

二、赋值运算符

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

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

#1. =
#变量名 = 数据    -    直接将指定数据保存到指定的变量中
#注意: = 前面的变量名可以是没有定义过的变量的变量名,也可以是一定定义过的变量的变量名
a = 10
b = 20
a = 100
print(a)

#2. +=
# 变量名 += 数据    -   先变量中保存的数据取出来和后面的数据进行加法运算,再将运算结果保存到前面的变量中
#注意:这儿的变量必须是已经赋值过(定义过)的变量
b += 10   # b = b + 10
print(b)  # 30

b -= 5
print(b)  # 25

b %= 3
print(b)  # 1

三、运算符优先级

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

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

四、流程控制

流程控制 - 通过代码控制程序执行过程

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

age = 20
if age >= 18:
    print('成年')
else:
    print('未成年')
    
for _ in range(100):
    print('hello world!')

五、分支结构

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

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

"""
1)语法
if 条件语句:
	代码块

2)说明
if      -    关键字,固定写法
条件语句    -   可以是任何有结果的表达式,一般判断语句
:       -      固定写法(注意必须是英文输入法下面的冒号)
代码块    -     结构上,是和if保持一个缩进的一条或者多条语句(至少一条;一个缩进一般是4个空格或者一个tab键)
               逻辑上,代码块就是需要满足多个条件才执行的代码
"""

#案例1:如果num是偶数就在控制台打印'偶数'
num = 28
if num % 2 == 0:
    print('偶数')

#案例2;根据score的值在控制台打印'不及格'
score = 8
if score < 60:
    print('不及格')
    
2.if双分支结构:如果xxx就xxx否则就xxx

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

"""
语法:
if 条件语句:
	代码块1(条件成立的时候会执行的代码)
else:
	代码块2(条件不成立的时候会执行的代码)
代码块3(不管条件成不成立都会执行)
"""
#案例:如果num是偶数就在控制台打印'偶数',否则打印'奇数'
num = 10
if num % 2 == 0:
    print('偶数')
else:
    print('奇数')
    
#案例2:根据score的值在控制台打印'不及格'或者'及格'
score = 60
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 = 80
#情况1:不考虑成绩不在有限范围内
if score >= 90:
    print('A')
elif score >= 80:
    print('B')
elif score >=60:
    print('C')
else:
    print('D')

#情况2:考虑成绩在有限范围内
if 90 <= score <= 100:
    print('A')
elif 80 <= score < 90:
    print('B')
elif 60 <= score < 80:
    print('C')
elif 0 <= score < 60:
    print('D')
else:
    print('不在有效范围内')

六、for循环

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

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

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

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

for x in 'abc':
    print(x)
    print('hello world!')
    print('你好')
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值