1、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(条件):语句1else:语句2或if(条件):语句组1else:语句组2其中,条件是一个逻辑表达式,语句组是一组Python的语句。(二)条件执行语句的执行过程条件语句的执行过程是:当条件成立时,执行if后面的语句组1,否则执行else后面语句
2、组2,条件语句的执行流程图如下图所示。是否在条件语句的基本格式中有时可以省略else和语句组2,这时条件语句的执行过程是当条件成立时,执行if后面的语句组1,否则退出条件语句,执行下面的语句。(三)关系表达式A=0表达式,一般称为关系表达式,关系表达式:是用关系运算符连接起来的式子。关系运算符号有:运算符号=含义 等于 大于 大于等于 小于 小于等于 不等于 说明:当关系表达式成立时其值为真(Ture),当表达式不成立时其值则为假(False);关系表达式的值既不是数值型量,也不是字符型量,而是一种新的数量类型逻辑型。逻辑型只有两个可能的值:假(False)和真(Ture)。关系表达式的值定义
3、如下:(1)对数值型的数据比较,是按照数值的大小来进行比较。如136的值为真。(2)对其它类型数据的比较,则按照其序号进行比较。如“D”“B”其值为真。(四)逻辑表达式在实际问题中,对于一些复杂的条件,还需要几个关系表达式组合起来才能表示。例如,条件2X9就需要用2X和X7)的结果为True,Not(137)的结果为False。(2)(38)And(510)的结果为True,(510)的结果为False。(3)(05)Or(31)的结果为True,(50)Or(3c+d and a=5 or not c0 or d0 当a=5,b=7,c=2,d=1时,运算结果是:真例题1在某购物网站上有某种
4、笔记本优惠活动,一次购买6本以上(含6本)10本以下(含10本)打九折,一次购买11本以上(含11本)打八折。根据笔记本的单价和购买数量编写程序计算总费用?单分支if结构n=int(input(“请输入购买的笔记本的数量(多少本):”)p=float(input(“请输入笔记本的单价(每本多少元):”)if(n=6 and n=11):j=0.8t=n*p*jprint(“总费用为:”,”%.1f”%t,”元”)双分支if结构p=float(input(“请输入笔记本的单价(每本多少元):”)n=int(input(“请输入购买的笔记本的数量(多少本):”)if(n6):j=1.0else:i
5、f(n=10):j=0.9else:j=0.8t=n*p*jprint(“总费用为:”,”%.1f”%t,”元”)多分支if结构p=float(input(“请输入笔记本的单价(每本多少元):”)n=int(input(“请输入购买的笔记本的数量(多少本):”)if(n6):j=1.0elif(nb):m=aelse:m=bif(cm):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)