《Python语言程序设计》课件3Python程序结构4_第1页
《Python语言程序设计》课件3Python程序结构4_第2页
《Python语言程序设计》课件3Python程序结构4_第3页
《Python语言程序设计》课件3Python程序结构4_第4页
《Python语言程序设计》课件3Python程序结构4_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

多分支选择结构多分支if语句的一般格式为:if表达式1: 语句块1elif表达式2: 语句块2elif表达式3: 语句块3……elif表达式n:

语句块n[else:

语句块n+1]例

已知某课程的百分制分数mark,将其转换为等级制(优、良、中、及格和不及格)的评定等级grade。评定条件为:成绩在90以上为优秀,80以上且小于90的为良好,70以上且小于80的为中等,60以上且小于70的为及格,60以下为不及格。根据评定条件,给出以下三种不同的实现方法(主要代码片段),供读者分析对错。方法一:ifmark>=90: grade="优"elifmark>=80: grade="良"elifmark>=70: grade="中"elifmark>=60: grade="及格"else: grade="不及格"方法二:ifmark>=90: grade="优"elifmark>=80Andmark<90: grade="良"elifmark>=70Andmark<80: grade="中"elifmark>=60Andmark<70: grade="及格"else: grade="不及格"方法三:ifmark>=60: grade="及格"elifmark>=70: grade="中"elifmark>=80: grade="良"elifmark>=90: grade="优"else: grade="不及格"选择结构的嵌套语法一:if表达式1:

if表达式2: 语句块1else:

语句块2语法二:if表达式1:

if表达式2: 语句块1else:

语句块2例

输入学生的成绩,根据成绩进行分类。85分以上优秀,70-84良好,60-69及格,60以下不及格。程序如下:g=float(input("输入学生成绩:"))ifg>=60: ifg>=70: ifg>=85: print("优秀") else: print("良好") else: print("及格")else: print("不及格")条件运算Python的条件运算有三个运算量,其一般格式为:表达式1if表达式else表达式2条件运算的运算规则是,先求if后面表达式的值,如果其值为True,则求表达式1,并以表达式1的值为条件运算的结果。如果if后面表达式的值为False,则求表达式2,并以表达式2的值为条件运算的结果。例如:>>>x,y=40,30>>>z=xifx>yelsey>>>z40例

生成3个2位随机整数,输出其中最大的数。这里用条件运算表达式来实现,程序如下:importrandomx=random.randint(10,99)y=random.randint(10,99)z=random.randint(10,99)max=xifx>yelseymax=maxifmax>zelsezprint("x={0},y={1},z={2}".format(x,y,z))print("max=",max)选择结构程序举例例输入一个整数,判断它是否为水仙花数。所谓水仙花数,是指这样的一些3位正整数:各位数字的立方和等于该数本身,例如153=13+53+33,则153是水仙花数。分析:关键的一步是先分别求3位整数的个位、十位、百位数字,再根据条件判断该数是否为水仙花数。程序如下:x=eval(input("输入测试的数字:"))a=x%10b=(x//10)%10c=x//100ifx==a*a*a+b*b*b+c*c*c: print("{0}是水仙花数".format(x))else: print("{0}不是水仙花数".format(x))例

输入一个时间(小时:分钟:秒),输出该时间经过5分30秒后的时间。程序如下:hour=int(input("请输入小时:"))minute=int(input("请输入分钟:"))second=int(input("请输入秒:"))second+=30ifsecond>=60: second=second-60 minute+=1 minute+=5ifminute>=60: minute=minute-60 hour+=1ifhour==24: hour=0print(('{0:d}:{1:d}:{2:d}'.format(hour,minute,second)))例某公司员工的工资计算方法如下:(1)工作时数超过120小时者,超过部分加发15%(2)工作时数低于60小时者,扣发700元(3)其余按84元每小时计发输入员工的工号和该员工的工作时数,计算应发工资。分析:为了计算应发工资,首先分两种情况,即工时数小于等于120小时和大于120小时。工时数超过120小时时,实发工资有规定的计算方法。而工时数小于等于120小时时,又分为大于60和小于等于60两种情况,分别有不同的计算方法,所以程序分为3个分支,即工时数>120、60<工时数<=120和工时数<=60,可以用多分支if结构实现,也可以用if的嵌套实现if嵌套的程序如下:gh,gs=eval(input("输入职工号和工时数:"))ifgs>120: gz=gs*84+(gs-120)*84*0.15else: ifgs>60:

gz=gs*84 else:

gz=gs*84-700print("{0}号职工应发工资{1}".format(gh,gz))例

输入年月,求该月的天数。例如,输入2012,3,则显示31天。分析:用year、month分别表示年和月,day表示每月的天数。考虑到以下两点:(1)每年的1、3、5、7、8、10、12月,每月有31天:4、6、9、11月,每月有30天,闰年2月有29天,平年2月有28天。(2)年份能被4整除,但不能被100整除,或者能被400整除的年均是闰年。程序如下:year=int(input("year="))month=int(input("month="))ifmonthin(1,3,5,7,8,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论