1、第12节 义卖竞价(一)关系算法1.掌握Python关系运算的关系表达式和关系运算符2.使用Python找出三个数中的最大值学习任务学习过程新课导入同学们参加过义卖活动吗?可以跟大家分享你参加义卖的经历吗?模拟义卖竞价的程序,其核心是数值比较,并得出数值最大的一方。一、三个数比较大小的算法描述及流程图假设你面前有三个不知道重量的物品,用一个没有砝假设你面前有三个不知道重量的物品,用一个没有砝码的天平,怎么得出三个物品中哪个最重?码的天平,怎么得出三个物品中哪个最重?一、三个数比较大小的算法描述及流程图把三个物品编号为a,b,c将a,b分别放在天平两端,留下较重的一个将c放在天平另一端,留下较重
2、的一个最后留下的就是最重的物品设置变量,输入数据构建比较价格的表达式要储存在两两比较中较大的数,进入下一个比较价格的表达式输出数据。无论有多少数据要作比较,都需要先进行无论有多少数据要作比较,都需要先进行两两比较两两比较,并对,并对其中较大的一个数进行其中较大的一个数进行存储存储处理,因为它还需要和下一个数处理,因为它还需要和下一个数进行比较,而不是直接输出。进行比较,而不是直接输出。一、三个数比较大小的算法描述及流程图一、三个数比较大小的算法描述及流程图经过对比和分析两种算法的流程图,我们会发现,如果考虑很多个数据比较大小时,第一种算法的运行速度慢、计算效率低,可扩展性差。而第二种算法设置了
3、一个变量max用来存储最大的数,每次比较后,都会将两个数中较大的一个存入该变量,这样使得多个数的比较变得非常容易,算法运行效率高。二、构建比较大小所需的关系表达式1.关系运算符在数学课上,我们把“A比B大”的自然语言转化为“AB”的数学语言。类似的,在Python语言中,把表达式描述给计算机,需要使用关系运算来实现。关系运算符是对数值或其他值进行操作,并得到逻辑结果的一种运算符。二、构建比较大小所需的关系表达式关系运算符的优先级低于算术运算符。关系运算的结果就是运算符两端的表达式或数值之间的关系是否成立,结果只有True(成立)和False(不成立)。这个运算结果称为逻辑值。a=10b=20c
4、=abprint(c)输出的结果为False,因为1020这种数值关系并不成立。(*注意不要混淆关系运算中的“=”和赋值语句的“=”。)二、构建比较大小所需的关系表达式使用关系运算符把两个算术表达式(或字符串表达式)连接起来的式子,被称为关系表达式。关系表达式的值是逻辑值,结果只能为“True”或者“False”。在Python语言中True的值对应数值1,而False的值对应数值0。二、构建比较大小所需的关系表达式从解决任务的算法流程图中可知,a、b代表两个出价。如果a是30元,b是20元,那么ab的关系运算结果就是“True”;如果a是20元,b是30元,那么ab的关系运算结果就是“Fal
5、se”。在Python语言中,赋予计算机“判断”能力的是选择结构,它通过关系运算的结果,判断执行哪个分支,从而实现逻辑判断。三、程序的实现接下来,请同学们参考流程图,构建条件表达式,编写程序。要注意变量a、b、c的数据类型要转化为整型(int)或浮点型(float)。1.编写程序三、程序的实现2.程序测试三、程序的实现a=float(input(“报价1:”)b=float(input(“报价2:”)c=float(input(“报价3:”)max=aif bmax:max=bif cmax:max=cprint(max)数据转化成浮点数型把a的值赋给max比较b与max的大小,若关系表达式成立则把b的值赋给max,若不成立则max的值不变比较c与max的大小,若关系表达式成立则把c的值赋给max,若不成立则max的值不变输出max的值四、练习与思考(1)写出关系表达式的值。(2)根据描述,写出关系表达式。