任务2.4 运算符(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)

2024-08-10
| 41页
| 111人阅读
| 25人下载
普通

内容正文:

任务2.4 运算符 水仙花数的判断 2.4 运算符——水仙花数的判断 “宇宙之大,粒子之微,火箭之速,化工之巧,地球之变,生物之谜,日月之繁,无处不用到数学。” ——华罗庚 如果一个三位数,其各个数位上数字的立方和等于其本身,则称之为“水仙花数”。 2.4 运算符——水仙花数的判断 【任务描述】 在学习了数据类型之后,我们需要进一步了解数据间的运算,和小T一起,以解决数学问题为目标来学习Python的运算法则。在数字中存在这样的数:如果一个三位数,其各个数位上数字的立方和等于其本身,则称之为“水仙花数”。例如153=1^3+5^3+3^3,153就是一个水仙花数。让我们和小T一起设计一个程序,实现输入的一个三位数,判断其是否为水仙花数。 2.4 运算符——水仙花数的判断 素养小课堂: 一个 n 位自然数等于自身各个数位上数字的 n 次幂之和,则称此数为自幂数。 一位自幂数叫作独身数; 两位自幂数是不存在的; 三位自幂数叫作水仙花数; 四位自幂数叫作四叶玫瑰数; 五位自幂数叫作五角星数; ……十进制中最大的自幂数有 39 位,共有 88 个自幂数。 自我肯定表现 2.4 运算符——水仙花数的判断 【任务分析】 可以按照以下步骤完成本次任务: (1)用input()函数输入数据。 (2)利用算术运算符求出百位数、十位数、个位数。 (3)根据规则作出判断。 在Python中,对数据的变换称为运算,表示运算的符号被称为运算符,参与运算的数据被称为操作数。例如,“1+2”是一个加法运算,“+”被称为运算符,1和2被称为操作数。按功能区分,运算符可分为算术运算符、比较运算符、逻辑运算符、赋值运算符、位运算符和成员运算符等。 2.4 运算符——水仙花数的判断 2.4 运算符——水仙花数的判断 算术运算符 比较运算符 逻辑运算符 赋值运算符 位运算符 成员运算符 运算符的优先级 运算符任务实现——水仙花数的判断 2.4 运算符——水仙花数的判断 #水仙花数的判断 # 输入一个三位数 num=eval(input("请输入一个三位数:")) # 分别计算百位、十位和个位数 hundreds=num//100 tens=num//10%10 ones=num%10 # 格式化输出 print(hundreds**3+tens**3+ones**3 == num) //,% 算术运算符 == 比较运算符 2.4 运算符——水仙花数的判断 2.4.1 算术运算符 2.4.2 比较运算符 2.4.3 逻辑运算符 2.4.4 赋值运算符 2.4.5 位运算符 2.4.6 成员运算符 2.4.7 运算符的优先级 2.4.8 任务实现——水仙花数的判断 2.4.1 算术运算符 运算符 说明 实例 结果 + 加 12.45 + 15 27.45 - 减 4.56 - 0.26 4.3 * 乘 5 * 3.6 18.0 / 除法(和数学中的规则一样) 7 / 2 3.5 // 整除(只保留商的整数部分) 7 // 2 3 % 取余,即返回除法的余数 7 % 2 1 ** 幂运算/次方运算,即返回 x 的 y 次方 2 ** 4 16,即 24 2.4.1 算术运算符 2.4.1 算术运算符 #某同学期末成绩总分、平均分运算 english =88 # 整数 math = 90.5 # 浮点数 python = 95 # 整数 # 加法运算 sum = english + math + python # 浮点数 print("1--总成绩为:", sum) # 除法运算 average = round(sum / 3,2) print("2--平均成绩为:", average) # 取整运算 field = english // 10 print("3--英语成绩在{}-{}段位间".format(field*10,(field+1)*10)) 注意: (1)对在整数类型与浮点型数据进行混合运算时,将整数类型转换为浮点型。 (2)对在其他类型与复数类型进行混合运算时,将其他类型转换为复数类型。 1--总成绩为: 273.5 2--平均成绩为: 91.17 3--英语成绩在80-90段位间 【例2-24】算术运算符。 即学即答: 在Python运算符中,取余的运算符是( )。 A.% B.** C.// D./ 2.4.1 算术运算符 2.4.2 比较运算符 运算符 相关说明 > 大于,如果>前面的值大于后面的值,则返回True,否则返回False < 小于,如果<前面的值小于后面的值,则返回True,否则返回False == 等于,如果==两边的值相等,则返回True,否则返回False >= 大于或等于,如果>=前面的值大于或等于后面的值,则返回True,否则返回False <= 小于或等于,如果<=前面的值小于或等于后面的值,则返回True,否则返回False != 不等于(等价于数学中的 ≠),如果!=两边的值不相等,则返回True,否则返回False is 也称为身份运算符,判断两个变量所引用的对象是否相同,如果相同则返回True,否则返回False is not 也称为身份运算符,判断两个变量所引用的对象是否不相同,如果不同则返回True,否则返回False 2.4.2 比较运算符 比较运算符也称为关系运算符,用于对常量、变量或表达式的值进行关系判定,判定的结果是一个逻辑值True(真)或者False(假)。 2.4.2 比较运算符 print("80是否大于100:", 80 > 100) print("24*5是否大于或等于66:", 24*5 >= 66) print("86.5是否等于86.5:", 86.5 == 86.5) print("34是否等于34.0:", 34 == 34.0) print("False是否小于True:", False < True) print("True是否等于True:", True == True) 80是否大于100: False 24*5是否大于或等于66: True 86.5是否等于86.5: True 34是否等于34.0: True False是否小于True: True True是否等于True: True 【例2-25】比较运算符。 即学即答: 表达式“50%10>0”返回的结果是( )。 A.0 B.True C.False D.以上都不是 2.4.2 比较运算符 2.4.3 逻辑运算符 逻辑运算符 含义 基本格式 说明 and 逻辑与运算 x and y 当x和y的布尔值均为True时,返回y;否则返回x or 逻辑或运算 x or y 当x和y的布尔值均为True时,返回x,否则返回y not 逻辑非运算 not x 如果x为True,则not x返回False;否则返回True 2.4.3 逻辑运算符 逻辑运算符可以将多个语句按照逻辑进行连接,从而判定更复杂的逻辑问题。 2.4.3 逻辑运算符 【例2-26】逻辑运算符的使用。 a=22 b=33 print("a and b",a and b) print("a or b:",a or b) print("not a:",not a) a and b 33 a or b: 22 not a: False 即学即答: 表达式1024%2==0 or 99的结果是( )。 A.True B.False C.99 D.0 2.4.3 逻辑运算符 2.4.4 赋值运算符 运算符 相关说明 用法举例 等价形式 = 最基本的赋值运算 x = y x = y += 加赋值 x += y x = x + y -= 减赋值 x -= y x = x - y *= 乘赋值 x *= y x = x * y /= 除赋值 x /= y x = x / y %= 取余赋值 x %= y x = x % y **= 幂赋值 x **= y x = x ** y //= 取整赋值 x //= y x = x // y 2.4.4 赋值运算符 赋值运算符用来把右侧的值传递给左侧的变量。 a = 35;b = 15;c = 5 c = a + b # 一般赋值 print("1.c 的值为:", c) c += a # 加赋值 print("2. c 的值为:", c) c *= a # 乘赋值 print("3.c 的值为:", c) c /= a # 除赋值 print("4.c 的值为:", c) c = 2 c %= a # 取余赋值 print("5.c 的值为:", c) c **= a # 幂赋值 print("6. c 的值为:", c) c //= a # 取整赋值 print("7. c 的值为:", c) 1. c 的值为: 50 2. c 的值为: 85 3. c 的值为: 2975 4. c 的值为: 85.0 5. c 的值为: 2 6. c 的值为: 34359738368 7. c 的值为: 981706810 2.4.4 赋值运算符 【例2-27】赋值运算符的使用。 即学即答: 表达式x/=y等价于( )。 A.x=y B.x=x/y C.x=y/x D.y=x/y 2.4.4 赋值运算符 2.4.5 位运算符 运算符 相关说明 用法举例 等价形式 & 按位与运算符 x& y 参与运算的两个值,如果相应的二进制位都为1,则该位的结果为1,否则为0 | 按位或运算符 x| y 参与运算的两个值,只要对应的二进制位中有一个为1,结果位就为1 ^ 按位异或运算符 x^y 参与运算的两个值,当对应的二进制位相异时,结果为1 ~ 按位取反运算符 ~x 对x的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1 << 左移动运算符 x<< n 把运算数x的各二进制位全部左移n位,由n指定移动的位数,高位丢弃,低位补0 << 右移动运算符 x<< n 把运算数x的各二进制位全部右移n位,由n指定移动的位数 2.4.5 位运算符 位运算符把数字转换为二进制后进行运算,其操作数必须为整数。 2.4.5 位运算符 a=60 b=13 print(a&b) print(a|b) print(a^b) print(~a) print(a<<2) print(a>>2) 12 61 49 -61 240 15 a = 0011 1100 b = 0000 1101 -------------------- a&b = 0000 1100 a|b = 0011 1101 a^b = 0011 0001 ~a = 1100 0011 a<<2= 1111 0000 a>>2= 0000 1111 【例2-28】位运算符的使用。 2.4.6 成员运算符 运算符 说明 用法 in 在指定的序列中找到值则返回True,否则返回False x in y,如果x在y序列中,则返回True,否则返回False not in 没有在指定的序列中找到值则返回True,否则返回False x not in y,如果x不在y序列中,则返回True,否则返回False 2.4.6 成员运算符 成员运算符用于判断某值在给定的序列中是否存在,这种序列包括列表、字符串、集合等组合数据类型。 2.4.6 成员运算符 '''判断e是否在str中存在''' e='e' str='Hello, China!' print(e in str) print(e not in str) True False 【例2-29】成员运算符的使用。 2.4.7 运算符的优先级 运算符 相关说明 ** 幂运算(最高优先级) *、 /、%、// 乘、除、取余、取整 +、- 加、减 >>、<< 按位右移、按位左移 & 按位与 ^、| 按位异或、按位或 ==、!=、>=、>、<=、< 比较运算符 is、not is 身份运算符 in、not in 成员运算符 not、and、or 逻辑运算符 2.4.7 运算符的优先级 Python为运算符设置了优先级,在执行运算时,按优先级从高到低执行。 2.4.7 运算符的优先级 '''运算符的优先级''' a=20 b=10 c=3 r1=(a+b)-c # 先执行括号里的运算,再执行减法运算r2=a/b*c # 先执行除法运算,再执行乘法运算r3=a**c/b # 先执行幂运算,再执行除法运算print(r1,r2,r3,sep=' ') 27 6.0 800.0 【例2-30】运算符的优先级。 即学即答: 用Python运算符表达数学表达式 ,正确的是( )。 A.3**2+5*7**3/2 B.(3**2+5*7**3)/2 C.3**2+(5*7**3)/2 D.(3**2)+5*7**3/2 2.4.7 运算符的优先级 2.4.8 任务实现——水仙花数的判断 2.4.8 任务实现——水仙花数的判断 【任务描述】 通过学习运算符,我们了解了各类运算符的运算规则和优先级。现在让我们和小T一起来编写判定一个三位数是否为水仙花数的程序。对于输入的三位数num,关键在于用已学过的运算符取其百位、十位和个位数,并用比较运算符比较各位数的立方和是否与原数相等。我们按以下步骤来设计程序: 2.4.8 任务实现——水仙花数的判断 【任务分析】 (1)用input()函数输入数据num。 (2)利用取整(//)、取余(%)等运算符取出百位数、十位数、个位数。 (3)求出各位数的立方和,并与原数进行比较。 (4)根据比较结果做出是否是水仙花数的判断。 水仙花数 abc = a3 +b3 +c3 怎样用Python程序实现 2.4.8 任务实现——水仙花数的判断 2.4.8 任务实现——水仙花数的判断 (1)输入一个三位数(input()) (2)通过运算分别得到个位,十位,百位上的数(运算符) (3)比较后输出结果(true or false) 2.4.8 任务实现——水仙花数的判断 num=eval(input("请输入一个三位数:"))# 输入一个三位数,将输入结果赋值给变量 num # 分别计算百位、十位和个位数 hundreds=num//100 tens=num//10%10 ones=num%10 print(hundreds**3+tens**3+ones**3 == num)# 格式化输出 请输入一个三位数:111 False 【例2-31】任务实现:水仙花数的判断。 $$

资源预览图

任务2.4 运算符(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
1
任务2.4 运算符(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
2
任务2.4 运算符(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
3
任务2.4 运算符(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
4
任务2.4 运算符(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
5
任务2.4 运算符(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。