1.运算符
1.逻辑运算符:and、or、not
-
and(逻辑与运算)
- 应用场景:用来连接要求同时成立的两个条见,相当于生活中并且。
- 运算规则:条件1 and 条件2 — 两个条件都成立,结果就是True;只要有一个条件不成立,结果就是False。
True and True - True True and False - False False and False - False False and True - False
#例 num=345 print('num是否能同时被3和7整除',num%3==0 and num%7==0) #小练习 num=14 print('判断num是否是能被7整除的偶数',num%7==0 and num%2==0) print('判断num是否是个位数能够被3整除的数',num%10%3==0)
-
or(逻辑或运算)
- 应用场景:如果要求两个条件中有一个条件成立就行,就使用or来对这两个条件进行连接,相当于生活中的或者。
- 运算规则:条件1 or 条件2 —只要有一个条件成立结果就是True,否则就是False。
True or True - True True or Fase - True False or True - True False or False - False
#练习1:判断num是否能够被3或者7整除 num = 23 print('判断num是否能够被3或者7整除',num%3==0 or num%7==0) #练习2:判断year对应的年份是否是闰年 # 什么是闰年:闰年分为世纪闰年(能被400整除的年)和普通闰年(能被4整除但是不能被100整除)两种 year = 2008 print('判断year对应的年份是否是闰年',year%400==0 or (year%4==0 and year%100!=0))
-
not(逻辑非)
- 应用场景:对条件进行否定的时候使用,相当于生活中的‘不’
- 运算规则:not 条件 — 对条件进行否定
not True - False not False - True
#案例1:判断age对应的值是否不大于18 age=29 print(not age>18) #案例2:判断num是否不是偶数 num=23 print(not num%2==0) #案例3:num是否不能同时被3和7整除,能被3整除不能被7整除,能被7整除不能被3整除 num=23 print((num%3==0 or num%7==0) and not(num%3==0 and num%7==0)) #能被3和7同时整除的数,一定能够被3和7的最小公倍数整除 print((num%3==0 or num%7==0) and not(num%21)==0)
2.赋值运算符:=、+=、-=、*=、/=、//=、%=、**=
-
- =
- 变量名=数据 — 直接将指定数据保存到指定变量中
- 注意: = 前面的变量可以是没有定义过的变量名,也可以是已定义过的变量的变量名
a=10 b=20 a=30 print(a)#30
-
- +=
- 变量名+=数据 – 先将变量中保存的数据取出来和后面的数据相加,然后再赋值给前面的变量
- 注意:这儿的变量必须是已经赋值过(定义过)的变量
b=6 b+=5 print(b)#11
3.运算符优先级:python中不同运算符的优先级不同,优先级高的运算符先算
- 数学运算符>比较运算符>逻辑运算符>赋值运算符(最低)
- 数学运算符:** > * 、/、% 、// > + 、-
- 逻辑运算符:and > or
- 有括号先算括号里面的
2.流程控制——通过代码控制程序执行过程
根据代码执行过程的不同,可以将代码分成三种结构
-
顺序结构(默认):代码从上往下一条一条的执行,每条代码执行一次
-
分支结构(if):根据条件选择执行或者不执行相关代码
age=27 if age>18: print('成年') else: print('未成年')
- if单分支结构:如果xxx就xxx
- 语法
if 条件语句: 代码块
- 说明
if - 关键字、固定写法 条件语句 - 可以是任何有结果的表达式,一般判断语句 : - 固定写法(注意必须输入英文输入法下面的冒号) 代码块 - 结构上,是和if保持一个缩进的一条或者多条语句(至少一条) 逻辑上,代码块就是需要满足条件才执行的代码
#案例 num=28 if num%2==0: print('偶数')
- if双分支结构:如果xxx就xxx,否则就xxx
- 语法
if 条件语句: 代码块1 else: 代码块2
- if多分枝结构:如果xxx就xxx,如果xxx就xxx,如果xxx就xxx,…
- 语法
if 条件1: 代码块1 if 条件2: 代码块2 if 条件3: 代码块3 ... else: 代码块N 执行过程:先判断条件1是否成立,如果成立直接执行代码块1然后整个分支结束;如果1不成立才去判断条件2是否成立,成立就执行代码块2然后结束;如果条件2不成立取判断条件3是否成立......如果前面的条件都不成立,才会执行else后面的代码块。 总结:后面的条件是在前面的条件不成立的情况下进行判断的。
#示例:根据score的值打印学生的等级, # >=90 - A; 80 ~ 89 - B; 60 ~ 79- C; <60 - D score = 67 score=67 if score>=90: print("A") elif 80<=score<90: print("B") elif 60<=score<80: print('C') else: print('D')
-
循环结构(for、while):代码写一遍,然后重复执行多次
- 语法
for 变量名 in 序列: 循环体
- 说明
for - 关键字;固定写法 变量名 - 可以是任何变量的变量名 in - 关键字;固定写法 序列 - 任何容器型数据类型的数据。常见的序列:字符串、列表、字典、元组、集合、迭代器、生成器、range等。 : : 循环体 - 结构上,就是和for保持一个缩进的一条或者多条语句(至少一条) 逻辑上,循环体就是需要重复执行的代码 补充:元素 -- 一个容器可以同时保存多个数据,其中每一个独立的数据就是这个序列的元素
- 执行过程
- 让变量去序列中取值,一个一个的取,取完为止,每取一个值就执行一次循环体
#案例 for _ in range(10): print('hello world!')#打印10遍 for _ in 'abc': print('hello world!')#打印3次