内容正文:
2.2数据运算
程序设计基础Python
同步精品课堂
高教版
掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。
教学目标
一
掌握运算符与表达式
掌握数值类型的运算
掌握字符串类型的运算
教学重难点
二
重点:各种运算符和表达式的熟练运用。
难点:运算优先级的灵活运用和字符串切片索引以及数学库函数的深入理解与应用。
导入新课
三
同学们,在生活里,我们会做很多计算,像买东西算总价、分东西算数量。那在Python的世界里,怎么让计算机帮我们做这些计算呢?其实啊,这就离不开数据运算。比如想算长方形面积,要把长和宽相乘;想拼接出一句完整的话,要把不同的字符串连起来。今天咱们就来学习“数据运算”,看看Python是怎么用各种运算符,还有数学库、随机库这些工具,来完成这些计算和操作的。
H
S=L*H
L
新知讲授
四
一、运算符和表达式
H
S=L*H
L
S=L*H
表达式
运算符
* =
L H
操作数
新知讲授
四
一、运算符和表达式
运算符是指用于执行程序代码运算,会针对一个或一个以上的数据实现特定功能的符号。其中,进行运算的数据称为操作数。如a=3+4,其中“=”是赋值运算符,“+”是算术运算符。
Python3中的运算符包括算术运算符、赋值运算符、比较运算符、逻辑运算符、条件运算符。
表达式是指由运算符和操作数组成的式子。如3+2,其中“3”和“2”是用于运算的数据,即操作数;“+”是实现加法的符号,即运算符;“3+2”则是一个表达式。
新知讲授
四
赋值运算
二、数值类型的运算
比较运算
算术运算
算术运算
使用算术运算符可对数值型数据进行算术运算。
赋值运算符除了赋值操作外,还可进行算术运算后,再赋值。
比较运算符是用来对数据进行比较的,其运算结果为布尔值,即真或假。
新知讲授
四
二、数值类型的运算
赋值运算
比较运算
算术运算
算术运算
使用算术运算符可对数值型数据进行算术运算。
运算符 含义 示例
= 赋值 c=a+b将a+b的结果赋值给c
+= 加法赋值 c+=a即c=c+a
-= 减法赋值 c-=a即c=c-a
*= 乘法赋值 c*=a即c=c*a
/= 除法赋值 c/=a即c=c/a
%= 取模赋值 c%=a即c=c%a
//= 取整除赋值 c//=a即c=c//a
**= 幂赋值 c**=a即c=c**a
赋值运算符除了赋值操作外,还可进行算术运算后,再赋值。
运算符 含义 示例
+ 加 3+5输出结果为8
- 减 7-2输出结果为5
* 乘 9*3输出结果为27
/ 除 18/6输出结果为3.0
% 取模—返回除法的余数 9%2输出结果为1
// 取整除—返回商的整数部分 9//2输出结果为4
** 幂—返回x的y次幂 3**2输出结果为9
新知讲授
四
二、数值类型的运算
算术运算
算术运算
比较运算
赋值运算
运算符 含义 示例
= 赋值 c=a+b将a+b的结果赋值给c
+= 加法赋值 c+=a即c=c+a
-= 减法赋值 c-=a即c=c-a
*= 乘法赋值 c*=a即c=c*a
/= 除法赋值 c/=a即c=c/a
%= 取模赋值 c%=a即c=c%a
//= 取整除赋值 c//=a即c=c//a
**= 幂赋值 c**=a即c=c**a
赋值运算符除了赋值操作外,还可进行算术运算后,再赋值。
比较运算符是用来对数据进行比较的,其运算结果为布尔值,即真或假。
运算符 含义 示例
== 等于 3==3返回True
!= 不等于 3!=2返回True
> 大于 7>9返回False
< 小于 10<82返回True
>= 大于等于 7>=3返回True
<= 小于等于 5<=1返回False
新知讲授
四
二、数值类型的运算
算术运算
算术运算
赋值运算
比较运算
运算符 含义 示例
= 赋值 c=a+b将a+b的结果赋值给c
+= 加法赋值 c+=a即c=c+a
-= 减法赋值 c-=a即c=c-a
*= 乘法赋值 c*=a即c=c*a
/= 除法赋值 c/=a即c=c/a
%= 取模赋值 c%=a即c=c%a
//= 取整除赋值 c//=a即c=c//a
**= 幂赋值 c**=a即c=c**a
比较运算符是用来对数据进行比较的,其运算结果为布尔值,即真或假。
运算符 含义 示例
== 等于 3==3返回True
!= 不等于 3!=2返回True
> 大于 7>9返回False
< 小于 10<82返回True
>= 大于等于 7>=3返回True
<= 小于等于 5<=1返回False
新知讲授
四
二、数值类型的运算
算术运算
赋值运算
比较运算
算术运算符的优先级是幂>乘、除、取模、取整除>加、减。运算顺序是从左向右,有括号的先算括号内的。
新知讲授
四
二、数值类型的运算
算术运算
赋值运算
比较运算
算术运算符的优先级是幂>乘、除、取模、取整除>加、减。运算顺序是从左向右,有括号的先算括号内的。
赋值运算中变量的新值会覆盖前值。
比较运算是比较值的大小,另外计较运算的结果是布尔类型的数据。
算术运算符的优先级是幂>乘、除、取模、取整除>加、减。运算顺序是从左向右,有括号的先算括号内的。
新知讲授
四
三、数学库
math
random
Python3中除了对数值型数据进行基本运算外,其标准库还包含了数学类函数功能的数学库,其中math库与random库都是非常常用的数学库。
新知讲授
四
三、数学库
math
random
math库中的部分函数及数字常量。
函数 功能
ceil(x) 对浮点数x取大整数值y,y是大于或等于x的最小整数;返回整数值y
copysign(x,y) 返回一个浮点数,该浮点数的绝对值与x相同,正负性与y相同
fabs(x) 返回x的绝对值,返回浮点数
floor(x) 返回x的最小值,该最小值为小于或等于x的最大整数
fmod(x,y) 得到x/y的余数,其值是一个浮点数
gcd((x,y) 返回整数x与y的最大公约数,x与y都为非零值,该函数的返回值是可以同时整除x与y的最大正整数
modf(x) 返回x的小数部分和整数部分。两个值都为浮点数格式,且带有x的符号
trunc(x) 对浮点数x取整(直接舍去小数部分),返回整数部分
sqrt(x) 返回x的平方根
pi 圆周率,值为3.141592653589793
e 自然对数,值为2.718281828459045
inf 正无穷大,负无穷大为-math.inf
nan 非浮点数标记
新知讲授
四
三、数学库
math
random
函数 功能
ceil(x) 对浮点数x取大整数值y,y是大于或等于x的最小整数;返回整数值y
copysign(x,y) 返回一个浮点数,该浮点数的绝对值与x相同,正负性与y相同
fabs(x) 返回x的绝对值,返回浮点数
floor(x) 返回x的最小值,该最小值为小于或等于x的最大整数
fmod(x,y) 得到x/y的余数,其值是一个浮点数
gcd((x,y) 返回整数x与y的最大公约数,x与y都为非零值,该函数的返回值是可以同时整除x与y的最大正整数
modf(x) 返回x的小数部分和整数部分。两个值都为浮点数格式,且带有x的符号
trunc(x) 对浮点数x取整(直接舍去小数部分),返回整数部分
sqrt(x) 返回x的平方根
pi 圆周率,值为3.141592653589793
e 自然对数,值为2.718281828459045
inf 正无穷大,负无穷大为-math.inf
nan 非浮点数标记
math库举例
类型 函数 功能
基本随机数函数 seed(a) 设置初始化随机数种子a,可以是整数或浮点数
random() 生成一个[0.0,1.0)之间的随机小数,无参数
扩展随机数函数 randint(a,b) 生成一个[a,b]之间的随机整数
randrange(m,n,[k]) 生成一个[m,n)之间以k为步长的随机整数
uniform(a,b) 生成一个[a,b]之间的随机小数
getrandbits(k) 生成一个k比特长的随机整数
choice(seq) 从序列类型seq中随机返回一个元素
shuffle(seq) 将序列类型seq中元素随机排列,返回打乱后的序列
新知讲授
四
三、数学库
math
random
函数 功能
ceil(x) 对浮点数x取大整数值y,y是大于或等于x的最小整数;返回整数值y
copysign(x,y) 返回一个浮点数,该浮点数的绝对值与x相同,正负性与y相同
fabs(x) 返回x的绝对值,返回浮点数
floor(x) 返回x的最小值,该最小值为小于或等于x的最大整数
fmod(x,y) 得到x/y的余数,其值是一个浮点数
gcd((x,y) 返回整数x与y的最大公约数,x与y都为非零值,该函数的返回值是可以同时整除x与y的最大正整数
modf(x) 返回x的小数部分和整数部分。两个值都为浮点数格式,且带有x的符号
trunc(x) 对浮点数x取整(直接舍去小数部分),返回整数部分
sqrt(x) 返回x的平方根
pi 圆周率,值为3.141592653589793
e 自然对数,值为2.718281828459045
inf 正无穷大,负无穷大为-math.inf
nan 非浮点数标记
类型 函数 功能
基本随机数函数 seed(a) 设置初始化随机数种子a,可以是整数或浮点数
random() 生成一个[0.0,1.0)之间的随机小数,无参数
扩展随机数函数 randint(a,b) 生成一个[a,b]之间的随机整数
randrange(m,n,[k]) 生成一个[m,n)之间以k为步长的随机整数
uniform(a,b) 生成一个[a,b]之间的随机小数
getrandbits(k) 生成一个k比特长的随机整数
choice(seq) 从序列类型seq中随机返回一个元素
shuffle(seq) 将序列类型seq中元素随机排列,返回打乱后的序列
random库也是Python3的内置标准库。因为计算机不可能产生真正的随机数,所以伪随机数也称为随机数。random库作用就是用于生成随机数。random库主要有两类函数,一类是基本随机数函数,一类是扩展随机数函数。右表是random库中的常用函数。
新知讲授
四
三、数学库
math
random
类型 函数 功能
基本随机数函数 seed(a) 设置初始化随机数种子a,可以是整数或浮点数
random() 生成一个[0.0,1.0)之间的随机小数,无参数
扩展随机数函数 randint(a,b) 生成一个[a,b]之间的随机整数
randrange(m,n,[k]) 生成一个[m,n)之间以k为步长的随机整数
uniform(a,b) 生成一个[a,b]之间的随机小数
getrandbits(k) 生成一个k比特长的随机整数
choice(seq) 从序列类型seq中随机返回一个元素
shuffle(seq) 将序列类型seq中元素随机排列,返回打乱后的序列
random库也是Python3的内置标准库。因为计算机不可能产生真正的随机数,所以伪随机数也称为随机数。random库作用就是用于生成随机数。random库主要有两类函数,一类是基本随机数函数,一类是扩展随机数函数。右表是random库中的常用函数。
random库举例
随堂练习
五
例题
【例1】计算以下表达式的结果。
18-6*(7//4)**2
1.2/4+9//3*(45-40)
1.2/4+9%3*(45-40)
3.4%2
7%5==0.7%0.5
6%3==0.6%0.3
34%20==3.4%2
视频解析
随堂练习
五
例题
【例1】计算以下表达式的结果。
18-6*(7//4)**2
1.2/4+9//3*(45-40)
1.2/4+9%3*(45-40)
3.4%2
7%5==0.7%0.5
6%3==0.6%0.3
34%20==3.4%2
视频解析
第5行,7%5==0.7%0.5的结果为False,因为7%5的结果为2,0.7%0.5的结果为0.19999999999999996;
第6行,6%3==0.6%0.3的结果为True,因为6%3的结果为0,0.6%0.3的结果为0.0,值相等。
第7行,34%20==3.4%2的结果为False,因为34%20的结果为14,3.4%2的结果为1.4。
随堂练习
五
例题
【例2】判断一下代码执行结果。
01 import math
02 a = 10
03 b = 6
04 c = 3
05 print(a % b)
06 print(math.fmod(a, b))
07 print(math.ceil(a / c))
08 print(math.fabs(c - a))
09 print(math.gcd(a, c))
视频解析
新知讲授
四
四、字符串类型的运算
字符拼接
字符串比较大小
其他运算
字符串拼接是指将多个字符串使用“+”连接起来,可以拼接变量,也可以直接拼接字符串,如"程序"+"设计",输出结果就是“程序设计”。
字符串数据也可以使用比较运算符进行大小比较,是通过计算每个字符的Unicode编码来比较大小的。其运算结果是布尔值。
字符串数据除了拼接与比较大小以外,还可以进行其他运算,如“*”运算符,可以重复输出字符串,成员运算符可以判断字符串是否包含特定字符等。
新知讲授
四
四、字符串类型的运算
字符拼接
字符串比较大小
其他运算
字符串拼接是指将多个字符串使用“+”连接起来,可以拼接变量,也可以直接拼接字符串,如"程序"+"设计",输出结果就是“程序设计”。
字符串数据也可以使用比较运算符进行大小比较,是通过计算每个字符的Unicode编码来比较大小的。其运算结果是布尔值。
字符串数据除了拼接与比较大小以外,还可以进行其他运算,如“*”运算符,可以重复输出字符串,成员运算符可以判断字符串是否包含特定字符等。
新知讲授
四
四、字符串类型的运算
字符拼接
字符串比较大小
其他运算
字符串拼接是指将个字符串使用“+”连接起来,可以拼接变量,也可以直接拼接字符串,如"程序"+"设计",输出结果就是“程序设计”。
字符串数据也可以使用比较运算符进行大小比较,是通过计算每个字符的Unicode编码来比较大小的。其运算结果是布尔值。
字符串数据除了拼接与比较大小以外,还可以进行其他运算,如“*”运算符,可以重复输出字符串,成员运算符可以判断字符串是否包含特定字符等。
新知讲授
四
四、字符串类型的运算
字符拼接
字符串比较大小
其他运算
字符串数据也可以使用比较运算符进行大小比较,是通过计算每个字符的Unicode编码来比较大小的。其运算结果是布尔值。
字符串数据除了拼接与比较大小以外,还可以进行其他运算,如“*”运算符,可以重复输出字符串,成员运算符可以判断字符串是否包含特定字符等。
运算符 含义 示例
* 重复输出字符串 a*2输出hellohello
[] 通过索引获取字符串中的字符 a[4]输出o
[:] 切片,遵循左闭右开原则,截取字符串中的一部分 b[0:3]输出pyt
in 如果特定字符在字符串中,返回True hin a返回True
not in 如果特定字符不在字符串中,返回True hnot in b返回False
师生互动
五
分组抢答竞赛
依次给出4道基础题,学生举手抢答,回答正确可获得“运算小能手”积分。
1. Python中, 3 ** 2 的结果是多少?
2. 字符串 "Hello" + "Python" 会拼接成什么内容?
3. 10 // 3 和 10 / 3 的结果分别是什么类型?
4. 要生成1到10之间的随机整数,需要调用哪个库的哪个函数?
随堂练习
1.Python中,用于赋值操作的运算符是()
A. + B. =
C. == D. >
【答案】B
【解析】“=”是赋值运算符,用于将右侧值赋给左侧变量;“+”是算术运算符,“==”是比较运算符,“>”是比较运算符。
六
随堂练习
2.表达式 3 + 5 * 2 的结果是()
A. 13 B. 16 C. 10 D. 11
【答案】A
【解析】算术运算符优先级:乘除高于加减,所以先算 5 * 2 = 10 ,再算 3 + 10 = 13 。
六
随堂练习
3.以下属于算术运算符的是()
A. = B. ==
C. % D. and
【答案】C
【解析】“%”是取模算术运算符;“=”是赋值运算符,“==”是比较运算符,“and”是逻辑运算符。
六
随堂练习
4.执行 a = 5; a += 3 后,a的值是()
A. 5 B. 3
C. 8 D. 15
【答案】C
【解析】“+=”是加法赋值运算符, a += 3 等价于 a = a + 3 ,即 5 + 3 = 8 。
六
随堂练习
5.比较运算符 != 的含义是()
A. 等于
B. 不等于
C. 大于等于
D. 小于等于
【答案】B
【解析】“!=”表示“不等于”,用于判断两个值是否不相等。
六
随堂练习
6.表达式 9 > 8 的运算结果是()
A. True B. False C. 9 D. 8
【答案】A
【解析】9大于8,比较结果为真,返回布尔值True。
六
随堂练习
7.Python中,要计算一个数的平方根,可使用()库中的函数。
A. Random B. math C. time D. os
【答案】B
【解析】math库提供 sqrt() 函数用于计算平方根;random库用于生成随机数,time库用于时间相关操作,os库用于操作系统交互。
六
随堂练习
8.执行math.floor(3.7) 的结果是()
A. 3 B. 4
C. 3.7 D. 4.0
【答案】A
【解析】math.floor() 函数用于向下取整,返回小于等于参数的最大整数,所以 math.floor(3.7) = 3 。
六
课堂小结
八
谢谢
EV录屏5.4.1软件录制
Lavf58.33.100
本视频由湖南一唯信息科技开发的EV录屏软件录制, www.ieway.cn
EV录屏5.4.1软件录制
Lavf58.33.100
本视频由湖南一唯信息科技开发的EV录屏软件录制, www.ieway.cn
EV录屏5.4.1软件录制
Lavf58.33.100
本视频由湖南一唯信息科技开发的EV录屏软件录制, www.ieway.cn
EV录屏5.4.1软件录制
Lavf58.33.100
本视频由湖南一唯信息科技开发的EV录屏软件录制, www.ieway.cn
EV录屏5.4.1软件录制
Lavf58.33.100
本视频由湖南一唯信息科技开发的EV录屏软件录制, www.ieway.cn
EV录屏5.4.1软件录制
Lavf58.33.100
本视频由湖南一唯信息科技开发的EV录屏软件录制, www.ieway.cn
EV录屏5.4.1软件录制
Lavf58.33.100
本视频由湖南一唯信息科技开发的EV录屏软件录制, www.ieway.cn
EV录屏5.4.1软件录制
Lavf58.33.100
本视频由湖南一唯信息科技开发的EV录屏软件录制, www.ieway.cn
EV录屏5.4.1软件录制
Lavf58.33.100
本视频由湖南一唯信息科技开发的EV录屏软件录制, www.ieway.cn
EV录屏5.4.1软件录制
Lavf58.33.100
本视频由湖南一唯信息科技开发的EV录屏软件录制, www.ieway.cn
$