(
课件网) 4.3运用选择结构描述问题求解过程 复习巩固 顺序结构是最常见、最简单的程序结构,其语句执行顺序是自上而下依次执行的。 问题引入 例:一水果店做活动:桔子原价2.5元/斤,如果一次购买超过5斤(含5斤),按2.3元/斤计算,如果一次购买超过10斤(含10斤),按2.1元/斤计算。 设计一个程序输入桔子的重量(weight),计算出应付的金额(pay) 分析问题设计算法 这个问题比较简单,我们可以直接下出如下算法: ①输入桔子的重量weight ②如果weigh<5,那么pay= weight 2.5,转到⑤ ③如果weigh>=5且weight<10,那么 pay=weight 2.3,转到⑤ ④如果weight>=10,那么pay=weight 2.1,转到⑤ ⑤输出pay值,程序结束 用流程图描述算法 通过流程图,我们可以得出若编写程序,需要用哪种基本控制结构? 开始 输入桔子的重量weight Weight<5? pay=weight 2.5 5<=Weight<10? Weight>=10? pay=weight 2.3 pay=weight 2.1 输出应付的金额pay 结束 否 否 否 是 是 是 1.单分支if语句 在程序设计中,主要使用条件语句(if语句)来实现判断和选择。 格式: if (条件表达式): 语句A ①if(条件表达式)后面加冒号“:” ②当语句A是由多个语句构成的复合语句时,所有语句严格遵循相同的缩进。 ③如果条件表达式为真,则找行语句A,然后继续往下执行;如果条件表达式为假,则不执行语句A,然后继续往下执行。其执行过程如图4-7所示。 执行过程: 编写程序 weight=int(input(“输入桔子的重量:” )) if weight<5: pay=weight 2.5 if (weight>=5 and weight<10): pay=weight 2.3 if weight>=10: pay=weight 2.1 print(“应付的价格为:%.2f元”%pay) 随堂练习 a=int(input( )) b=int(input( )) x=a+b if a>b: x=a-b print(x) 若从键盘上输入3和4,那么x的值是( ) A -1 B 5 C 7 D 9 C 2.双分支if结构 格式: if (条件表达式): 语句A else: 语句B ①if(条件表达式)后面加冒号“:”,else语句后也要加冒号“:”。 ②当语句A和语句B是由多个语句构成的复合语句时,所有语句严格遵循相同的缩进。(通常使用tab键来缩进) ③如果条件表达式为真,则执行A,然后继续往下执行。如果条件表达式为假,则执行语句B,然后继续往下执行。其执行过程如图4-9所示。 问题解决 利用python编程解决:输入二个整数a,b,输出其中较大的那个数 程序一: a=int(input( “a=” )) b=int(input(“b=” )) if a>b: max=a if a
b: max=a else: max=b print(“较大的数为:”,max) 3.If语句的嵌套 应用if条件语句可以快速地实现程序的分支选择,但当分支比较多时,用if...elif...else语句来实现比较简便 格式: if (表达式1): 语句1 elif(表达式2): 语句2 ...... elif(表达式n): 语句n else: 语句n+1 If…elif…else语句执行过程 程序转换 weight=int(input(“输入桔子的重量:” )) if weight<5: pay=weight 2.5 if (weight>=5 and weight<10): pay=weight 2.3 if weight>=10: pay=weight 2.1 print(“应付的价格为:%.2f元”%pay) 下面这个多分支结构,能不能用if…elif…else改写 ? 程序转换 weight=int(input("输入桔子的重量:" )) if weight<5: pay=weight 2.5 elif weight<10: pay=weight 2.3 else: pay=weight 2.1 print("应付的价格为:%.2f元"%pay) 随堂练习 1.若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是( ) A. a%2==1? B. not(a%2==0) C. a%2?!=0 D.a%2 D 2.运行下列python程序,输出结果为True,则空白处应为( ) a= ... ...