Day 2_总结:
一.运算符
1.数字运算符
常用数字运算符:+(加)、-(减)、*(乘)、/(除)、%(取余、取模)、//(整除)、**(幂运算)
- +(加)、-(减)、*(乘)、/(除)和数学中的+(加)、-(减)、×(乘)、÷(除)的功能一样。
#加减乘除
print(2+3);print(2-3);print(2*3);print(2/3)
-
% 求余数
-
x % y - x除以y的余数
#求5除2的余数 print(5%2)
-
应用1:判断一个数是否能被另一个数整除。(取余后值是否为零)
-
应用2:取一个数的低位数。(一个数对10,100…等取余)
-
-
// 整除(求商,商向小取整)
- 应用:去掉低位数,保留高位数。(一个数整除10、100…去掉个位,去掉十位…)
-
** 幂运算
- x**y:求x的y次方
#2的3次方 print(2**3)
2.比较运算符
比较运算符:==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)
-
比较运算符的运算结果都是布尔值
print(10 == 10) #True print(20 == 10) #False
-
Python中的比较运算符支持表示范围的连写方式(别的语言不支持)
x = 0.3 print(0 < x < 10) #True
3.逻辑运算符
逻辑运算符:and(逻辑与运算),or(逻辑或运算),not(逻辑非运算)
-
and - 逻辑与运算
- 应用场景:要求多个条件同时满足就是将多个条件用and连接,相当于生活中的并且。
- 运算符规则:两个都是True,结果才是True,否则结果是False。
-
or - 逻辑或运算
- 应用场景:要求多个条件只需要有一个条件满足,就使用or连接连接多个条件。
- 运算符规则:两个都是False,结果才是False,否则结果是True。
-
not - 逻辑非运算
- 应用场景:对某一个场景进行否定。
- 运算符规则:not True 为 False;not False 为 True。
-
逻辑运算符扩展:
-
逻辑运算符优先级:not > and > or
-
短路操作:
-
逻辑与短路操作:表达式1 and 表达式2 - 如果表达式1的结果是False,那么表达式2的代码不执行。
-
逻辑或短路操作:表达式1 or 表达式2 - 如果表达式1的结果是True,那么表达式2的代码不执行。
注意:表达式1放教简单的代码,可以减少Cup的使用。
-
-
运算对象不是布尔值
- 表达式1 and 表达式2:如果表达式1的布尔值是True,整个与运算的结果是表达式2;如果表达式1的布尔值False,整个与运算的结果是表达式1。
-
表达式1 or 表达式2:如果表达式1的布尔值是False,整个与运算的结果是表达式2;如果表达式1的布尔值True,整个与运算的结果是表达式1。
print(7 and 8) #8 print(0 and 9) #0 print(7 or 8) #7 print(9 or 0) #9 print(not 0) #True
-
补充:数据的布尔值(非常重要)
-
所有数据都有布尔值,所有零值、空值的布尔值是False,其他都为True。
注:零值和空值包含0、0.0、0.00、’ '、" "、None。
-
-
4.赋值运算符
赋值运算符:=、+=、-=、*=、/=、%=、//=、**=
重要结论:1.所有的赋值运算都是用来给变量赋值,没有计算结果。(所有的赋值运算都没有结果)
2.所有赋值运算符的左边都必须是变量。
-
=
- 变量 = 数据 - 将数据保持到变量中
-
+=、-=、*=、/=、%=、//=、**=
-
变量 += - 先将变量中保存的数据取出来,和右边数据进行加法运算,再将结果返还给变量。
注意:变量必须先被赋值。
-
-
运算符的优先级:
-
数学运算>比较运算>逻辑运算>赋值运算符(最低的)
-
** > *、/、//、% > +、-
-
有括号先算括号里面的
a = 10 + 20*3 > 5 and 7-8>9 print(a) #Flase
-
二.IF 分支结构
1.流程控制
- 顺序结构(默认) - 代码从上往下一条一条的执行,每条代码只执行一次。
- 分支结构 - 根据条件执行或者不执行某些代码。
- 循环结构 - 可以让代码重复执行。
分支结构 - if语句
- if单分支结构 - 满足条件执行某个操作,条件不满足的时候,不执行该操作。
"""
语法:
if 条件语句:
代码段
说明:
if - 关键字,固定写法
条件语句 - 任何有结果的表达式(除了赋值语句以外的表达式),比如:数据、已经赋值过的变量、运算符 号、函数表达式
: - 固定写法(注意输入法)
代码段 - 和if保持一个缩进的一条或者多条语句(满足条件才执行的代码)
执行过程:先判断条件语句的结果是否为True,如果为True就执行代码段,否则代码段不执行。
"""
a = 100
if a-100:
print('代码段') #不打印结果
- if 双分支结构 - 满足条件执行某个操作,条件不满足的时候执行另外的操作。
"""
语法:
if 条件语句:
代码段1(满足条件要执行的代码)
else:
代码段2(不满足条件要执行的代码)
"""
- if 多分支结构 - 根据不同的条件执行不同的操作(条件之间满足:其中一个条件满足了,其他条件不会同时满足)
"""
语法:
if 条件语句1:
代码段1
elif 条件语句2:
代码段2
elif 条件语句3:
代码段3
...
else:
代码段N
其他语句
"""
Day_作业:
选择题
- B
- A
- B
- A
- C、D
- A
- C
填空题
- 查看变量中数据的类型的函数名是(type(变量))
- 已知 x = 3 == 3 ,执行结束后,变量x的值为(True)
- 已知 x = 3 ,那么执行语句 x += 6 之后,x的值为(9)
- 表达式 3 ** 2 的值为(9),表达式 3 * 2 的值为(6),表达式 4 ** 0.5 的值为(2)
编程题
-
写出判断一个数是否能同时被2和5整除的条件语句, 并且打印对应的结果
x = input('请输入一个能同时被2和5整除的数:') x = int(x) if x % 2 or x % 5: print(False) else: print(True)
-
写出判断一个数是否能够被2或者5整除,但是不能同时被2和5整除的条件语句, 并且打印对应 的结果
x = input('请输入一个能被2或5整除但不能同时被2和5整除的数:') x = int(x) if x % 2: if x % 5: print(False) else: print(True) elif x % 5: print(True) else: print(False)
-
假设今天的上课时间为15678秒,编程计算今天上课时间是多少小时,多少分钟,多少秒;以‘XX 时XX分XX秒’的⽅式表示出来。例如:100秒表示成 0时1分40秒
time = 15678 h = time // 3600 s = time % 3600 % 60 m = (time-s) // 60 % 60 print(time,'秒表示成',h,'时',m,'分',s,'秒') # 15678 秒表示成 4 时 21 分 18 秒
-
定义两个变量保存一个人的身高和体重,编程实现判断这个人的身材是否正常! 公式: 体重(kg) / (身高(m)的平方值 ) 在18.5 ~ 24.9之间属于正常。输出格式: 是否正常:True/False
height = input('请输入身高(m):') height = float(height) weight = input('请输入体重(kg):') weight = int(weight) if 18.5 <= weight / height**2 <= 24.9: print('是否正常:',True) else: print('是否正常:',False)
-
根据输入的成绩的范围打印 及格 或者 不及格。
core = input('请输入成绩:') core = int(core) if core >= 60: print('及格') else: print('不及格')
-
根据输入的年纪范围打印 成年 或者 未成年 ,如果年龄不在正常范围内(0~150)打印 这不是
人! 。
age = input('请输入年龄:') age = int(age) if 0 <= age < 18: print('未成年') elif 18 <= age <= 150: print('成年') else: print('这不是人')
-
输入两个整数a和b,若a-b的结果为奇数,则输出该结果,否则输出提示信息 a-b的结果不是奇数 。
a = input('请输入一个整数a:') a = int(a) b = input('请输入一个整数b:') b = int(b) if (a-b) % 2: print('a-b的结果为:',a-b) else: print('a-b的结果不是奇数')