资源简介 (共17张PPT)4.3 运用选择结构描述问题求解过程一、例子:求一个数的绝对值 A=input(”请输入”, “A=“) A=int(A) if(A>=0): print(“Y=“,A) else:print(“Y=“,-A) #输入A的值#如果A>=0#输出A的值#输出-A的值#将A转化为整数二、条件语句简单的说:在程序中,用if开头的语句,就是条件语句。(一)条件语句的基本格式是: if(条件):语句1 else:语句2 或 if(条件): 语句组1 else: 语句组2其中,条件是一个逻辑表达式,语句组是一组Python的语句。(二)条件执行语句的执行过程条件语句的执行过程是:当条件成立时,执行if后面的语句组1,否则执行else后面语句组2,条件语句的执行流程图如下图所示。是否在条件语句的基本格式中有时可以省略else和语句组2,这时条件语句的执行过程是当条件成立时,执行if后面的语句组1,否则退出条件语句,执行下面的语句。 (三)关系表达式 A>=0表达式,一般称为关系表达式,关系表达式:是用关系运算符连接起来的式子。关系运算符号有:运算符号 = > >= < <= <>含义 等于 大于 大于等于 小于 小于等于 不等于说明:当关系表达式成立时其值为真(Ture),当表达式不成立时其值则为假(False);关系表达式的值既不是数值型量,也不是字符型量,而是一种新的数量类型——逻辑型。逻辑型只有两个可能的值:假(False)和真(Ture)。关系表达式的值定义如下:(1)对数值型的数据比较,是按照数值的大小来进行比较。如13>6的值为真。(2)对其它类型数据的比较,则按照其序号进行比较。如“D”>“B”其值为真。 (四)逻辑表达式 在实际问题中,对于一些复杂的条件,还需要几个关系表达式组合起来才能表示。例如,条件2逻辑运算符有: Not(非)取操作数相反的值。即当操作数为假时,结果为真;当操作数为真时,结果为假。 And(与)当两个操作数都为真时,结果才为真。 Or(或)当两个操作数都为假时,结果才为假。例如:(1)Not(3>7)的结果为True,Not(13>7)的结果为False。(2)(3<8)And(5<10)的结果为True,(5<8)And(5>10)的结果为False。(3)(0<5)Or(3<1)的结果为True,(5<0)Or(3<1)的结果为False。(五)逻辑运算的顺序(1)当条件中只有逻辑运算符时,运算的顺序为Not And Or(2)当条件中既有算术运算符,又有关系运算符和逻辑运算符时,运算顺序是:算术运算符 关系运算符 逻辑运算符例如: a+b>c+d and a>=5 or not c>0 or d<0当a=5,b=7,c=2,d=1时,运算结果是:真例题1在某购物网站上有某种笔记本优惠活动,一次购买6本以上(含6本)10本以下(含10本)打九折,一次购买11本以上(含11本)打八折。根据笔记本的单价和购买数量编写程序计算总费用?单分支if结构n=int(input(“请输入购买的笔记本的数量(多少本):”))p=float(input(“请输入笔记本的单价(每本多少元):”))if(n<6):j=1.0if(n>=6 and n<=10):j=0.9if(n>=11):j=0.8t=n*p*jprint(“总费用为:”,”%.1f”%t,”元”)双分支if结构p=float(input(“请输入笔记本的单价(每本多少元):”))n=int(input(“请输入购买的笔记本的数量(多少本):”))if(n<6):j=1.0else:if(n<=10):j=0.9else:j=0.8t=n*p*jprint(“总费用为:”,”%.1f”%t,”元”)多分支if结构p=float(input(“请输入笔记本的单价(每本多少元):”))n=int(input(“请输入购买的笔记本的数量(多少本):”))if(n<6):j=1.0elif(n<=10):j=0.9else:j=0.8t=n*p*jprint(“总费用为:”,”%.1f”%t,”元”)例题2在某购物网站上有三种笔记本的优惠价各不相同,笔记本1、笔记本2、笔记本3每本分别优惠价为a元、b元、c元,编程输出其优惠价的最大值。双分支if结构print(“请输入三种笔记本的优惠价(元):”)a,b,c=input().split()a=float(a)b=float(b)c=float(c)if(a>b):m=aelse:m=bif(c>m):m=cprint(“优惠价最大的为:”,m,”元”)例题3在某购物网站上购买三种笔记本作为奖品和纪念品,他们的单价分别为6元、5元和4元。若共有经费x元,希望买尽可能多的笔记本作为奖品和纪念品,并能把经费用完。那么,这三种笔记本各可以买多少本?多分支if结构x=int(input(输入经费的值为:))k=x//4;y=x%4if(y==0):n=0;m=0elif(y==1):k=k-1;n=1;m=0elif(y==2):k=k-1;n=0;m=1elif(y==3):k=k-2;n=1;m=1print(“6元的笔记本为:%d本”%m)print(“5元的笔记本为:%d本”%n)print(“4元的笔记本为:%d本”%k) 展开更多...... 收起↑ 资源预览