第3章 分支结构(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)

2024-08-10
| 30页
| 152人阅读
| 14人下载
普通

内容正文:

第3章 分支结构 第3章 分支结构 逻辑判断 单分支结构 双分支结构 多分支结构 分支结构的嵌套 实际问题中,很多时候需要根据给定的条件来决定做什么:条件满足时做什么,条件不满足时做什么。 如果外面正在下雨,那么出门的时候需要带雨伞。 根据体质指数,判断身体状态(偏瘦、正常、偏胖等)。 这些问题的特点是需要对给定的条件进行分析、比较和判断,并根据判断结果采取不同的操作。 顺序结构程序是无法解决类似的问题。计算科学中用来描述这种选择现象的重要手段是分支结构,也称选择结构。 3.1.1 关系运算符 3.1 逻辑判断 相等 == 不等 != 大于 > 小于 < 大于等于 >= 小于等于 <= 比较的结果是bool类型:True或False True 和1完全等价, False和0完全等价 相当于False: "" [] None 相当于True: 非0的数,非空的字符串,非空列表 True == 1 #True False == 0 #True "" == False #False 2 == True #False 5 5 print(3 < 5) #>>True print(2 < 4 < 6 < 8) #>>True 关系运算符允许连续使用 print(2 < 4 > 5) #>>False b =4 < 6 print(b) #>>True print( b == 2) #>>False 6 用关系运算符将两个式子连接起来的式子称为关系表达式。 6 关系运算符也能比较字符串(按字典序,大小写相关) print(’A’>’a’) #>>False a = "abc" print(a == "abc") #>>True print(a == "Abc") #>>False 7 7 3.1.2 逻辑运算 1.逻辑运算符 not x: x值为True(或相当于True)时, 结果为False(或相当于False) x值为False(或相当于False)时, 结果为True(或相当于True) not 4 < 5 #False not 5 #False not 0 #True 优先级由高到低:not、and、or 100>50 and 100<200 #>>True 100<50 and 300<200 #>>False 短路计算 100>50 or 100<200 #>>True 短路计算 100<50 or 300<200 #>>False not 100<200 #>>False not False #>>True not True #>>False 6 and 9 #>>9 0 and 9 #>>0 6 or 9 #>>6 0 or 9 #>>9 写出下列条件 (1)判断年份year是否为闰年。 (year%4==0 and year%100!=0) or year%400==0 (2)判断ch是否为小写字母。 'a' <= ch <='z' (3)判断m能否被n整除。 m%n==0 简单的分支情况,Python语言提供了条件运算符: 表达式1 if 表达式 else 表达式2 3.1.3 条件运符 例3.1 输入两个整数,输出最大值。 a=int(input("请输入a的值:")) b=int(input("请输入b的值:")) max= a if a>b else b print(max) 关于Python二分支精简结构的表示,正确的选项是()。 A、条件 if 表达式1 else表达式2 B、表达式1 if表达式2 else条件 C、表达式1 if条件else表达式2 D、表达式1 if条件:表达式2 else 执行以下程序,输入60,输出的结果是()。 s = eval(input()) k ='合格' if s >= 60 else '不合格’ print(s, k) A、合格 B、不合格 C、60 D、60 合格 3.1.4 身份运算符 测试两个变量是否指向同一个对象(占用的内存地址), 一样返回True,否则返回False。 >>> a=[1,2,3,4] >>> b=[1,2,3,4] >>> id(a) 1768334769992 >>> id(b) 1768333183944 >>> a is b False >>> a==b True 3.2.1 单分支结构语法(如果...则...) if 表达式: 语句块 3.2 单分支结构 注意: (1)表达式后面必须加冒号。 (2)可以是任意表达式。 (3)句块必须向右缩进,语句块可以是单个语句,也可以是多个语句。当包含多条语句时,多条语句的缩进必须一致即语句块中的语句必须上下对齐。 当输入为95、65时,以下2段代码的结果如何? score=int(input("score=")) if score>=90: print("Congratuations!") print("Your score is %d" % score) score=int(input("score=")) if score>=90: print("Congratuations!") print("Your score is %d" % score) 输入95时,程序显示结果: Congratuations! Your score is 95 输入65时,程序显示结果: Your score is 65 输入95时,程序显示结果: Congratuations! Your score is 95 输入65时,没有显示结果 例3-2 输入一个非零整数,如果其大于零,则输出“正数”;如果小于零,则输出“负数”。 程序如下: x=int(input("请输入一个非零整数:")) if x>0: print("正数") if x<0: print("负数") 键盘输入数字5,以下代码的输出结果是()。 n =eval(input("请输入一个整数:")) s =0 if n>=5: n -= 1 s =4 if n<5: n -= 1 s =3 print(s) 答案:3 3.2.2 双分支结构 if 表达式: 语句块1 else: 语句块2 例3-2 输入一个非零整数,如果其大于零,则输出“正数”;如果小于零,则输出“负数”。用if ...else....改写 程序如下: x=int(input("请输入一个非零整数:")) if x>0: print("正数") if x<0: print("负数") else: 例3.4 输入年份x,判断是否是闰年。 分析:年份只要满足下列两个条件之一,就是闰年: (1)年份是4的倍数,且不是100的倍数。 (2)年份是400的倍数。 如1900年、2022年不是闰年,而2000年、2024年是闰年。 x=int(input("请输入年份:")) if (x%100!=0 and x%4==0) or (x%400==0): print("%d年是闰年"%x) else: print("%d年不是闰年"%x) 例3.5 输入一个整数,判断这个整数是奇数还是偶数。 分析:能被2整除的数是偶数,不能被2整除的数是奇数。 x=int(input("请输入1个整数:")) if x%2==0: print("%d是偶数" % x) else: print("%d是奇数" % x) a ="123" if a > "Python": print("再学Python") else: print("初学Python") A、初学Python B、再学Python C、没有输出 D、执行出错 if 表达式1: 语句块1 elif 表达式2: 语句块2 elif 表达式3: 语句块3 …… elif 表达式m: 语句块m 3.4 多分支结构 if...elif... else是多分支选择结构,从中选择第一个满足条件的情况操作,即多选一。 例3.6 输入一个整数,判断是正数、负数或是0。 x=int(input("请输入一个整数:")) if x>0: print("x是正数") elif x<0: print("x是负数") else: print("x是0") 例3.7 根据体质指数,判断身体状态(偏瘦、正常、偏胖)。 按照中国人的体质特征,BMI 指数小于18.5为偏瘦,在 18.5 到 23.9 之间为正常,超过在 23.9 为偏胖。 weight=eval(input('请输入以kg为单位的体重值:')) height= eval(input('请输入以m为单位的身高值:')) bmi=weight/pow(height,2) print("你的BMI数值为:{:.2f}".format(bmi),end=",") if bmi < 18.5: print("属于偏瘦") elif 18.5<=bmi<=23.9: print("属于正常") else: print("属于偏胖") 运行结果: 请输入以kg为单位的体重值:70 请输入以m为单位的身高值:1.80 你的BMI数值为:21.60,属于正常 以下代码的执行结果是()。 a= 75 if a > 60: print("Should Work Hard!") elif a > 70: print("Good") else: print("Excellent") A、执行出错 B、Excellent C、Good D、Should Work Hard! 3.5 分支结构的嵌套 if语句中可以再嵌套if语句。一定要注意不同级别代码块的缩进量,因为缩进量决定了代码的从属关系。 if 条件 1:    if 条件2:      语句块2 #当条件1、2同时为真时,执行语句块2    else:      语句块3 #当条件1为真,条件2为假时,执行语句块3 else:    语句块4 #当条件1为假时,执行语句块4 考虑一下执行流程: mark = eval(input("请输入成绩:")) if 0 <= mark <=100: if mark < 60: print("不及格") else: print("及格") else: print("输入的成绩格式错误!") 例3.9 输入3个整数,输出最大值。算法不唯一,此处用嵌套 a=int(input("请输入a的值:")) b=int(input("请输入b的值:")) c=int(input("请输入c的值:")) if a>b: if a>c: max=a else: max=c elif b>c: max=b else: max=c print("最大值为:%d" % max) 1.输入一个整数,判断它是否为水仙花数。所谓水仙花数,是指这样的一些三位整数:各位数字的立方和等于该数本身,例如153=13+53+33,因此153是水仙花数。 2. 输入年月,求该月的天数。 分支结构练习 $$

资源预览图

第3章 分支结构(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
1
第3章 分支结构(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
2
第3章 分支结构(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
3
第3章 分支结构(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
4
第3章 分支结构(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
5
第3章 分支结构(课件)-《程序设计基础(Python)》同步教学(电子工业出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。