美文网首页
2020年3月19日 第三章 程序控制结构-2

2020年3月19日 第三章 程序控制结构-2

作者: anivad | 来源:发表于2020-03-19 16:15 被阅读0次

第三章 程序控制结构-2

3.2 双路分支结构

双路分支结构是一种二选一,即一个条件分两种情形处理

if <条件表达式>:
  <语句块1>
else:
  <语句块2>

语法格式

  • 当<条件表达式>为True时,执行<语句块1>,否则执行<语句块2>。
  • <条件表达式>可以是关系表达式、逻辑表达式、算术表达式等。
  • <语句块>前有缩进,冒号:不能缺省。

【例3-7】 改写【例3-1】程序,输入一个整数,如果是偶数则输出“这是个偶数”,否则输出这是个“奇数”

#例3-1
#E3-1-1.py
N=int(input("请输入一个整数:"))
if N%2==0:
  print("这是个偶数")

#例3-7
#E3-7.py
N=int(input("请输入一个整数:"))
if N%2==0:
  print("这是个偶数")
else:
  print(“这是个奇数")

【例3-8】游戏猜数字,改写【例3-5】程序:随机产生一个0-10间的整数,玩家通过键盘输入一个数竞猜,若猜中,则输出“恭喜你猜对啦!”,否则输出“很遗憾,没有猜对哟!”

#例3-5
#E3-5.py
from random import *
num=randint(0,10)
x=int(input("请输入一个数:"))
if num==x:
  print("恭喜你猜对啦!")
print("随机数是:",num)

#例3-8
#E3-8.py
from random import *
num=randint(0,10)
x=int(input("请输入一个数:"))
if num==x:
  print("恭喜你猜对啦!")
else:
  print("很遗憾,没有猜对哟!")
print("随机数是:",num)

【例3-9】改写【例3-6】登录程序:用户通过键盘输入用户名和密码,如果输入的用户名为空,输出“用户名不能为空”;如果输入的密码为空,输出“密码不能为空”;如果输入的用户名为“abc”,并且密码为”123”,输出“欢迎进入本系统”,否则输出“用户名或密码错误”

#例3-6
#E3-6.py
userName=input("请输入用户名:")
passWord=input("请输入密码:")
if userName=="":
  print("用户名不能为空")
if passWord=="":
  print("密码不能为空")
if userName=="abc" and passWord=="123":
  print("欢迎进入本系统")

#例3-9
#E3-9.py
userName=input("请输入用户名:")
passWord=input("请输入密码:")
if userName=="":
  print("用户名不能为空")
if passWord=="":
  print("密码不能为空")
if userName=="abc" and passWord=="123":
  print("欢迎进入本系统")
else:
  print("用户名或密码错误")

【试一试】编写程序计算 y = |x^2 - 25|^0.5

提示:
条件(1) 与(2) ,哪个放在if 后面做为if的条件表达式?

  1. x<=-5或x>=5
  2. -5<x<5
#test1.py
# 方法1
import math
x=eval(input("输入x:"))
if -5<x<5:
  y=math.sqrt(25-x*x)
else:
  y=math.sqrt(x*x-25)
print("y=",y)

#test1.py
方法2
import math
x=eval(input("输入x:"))
if  x<=-5 or x>=5:
  y=math.sqrt(x*x-25)
else:
  y=math.sqrt(25-x*x)   
print("y=",y)

# x=int(input("输入x:")))

【试一试】编写程序,输入一个数,利用turtle库绘制画笔大小为3,半径为100的圆形。并且当输入的数是偶数时,填充颜色为蓝色;当输入的数是奇数时,填充颜色为红色。

提示:
(1)turtle库中有关函数
画圆 circle(),画笔大小pensize(),填充fillcolor(),开始填充begin_fill(),结束填充end_fill()
(2) 判断一个数是否是偶数的条件表达式 N%2==0

#test2.py
from turtle import *
N=int(input("N="))
if N%2==0:
  fillcolor("blue")
else:
  fillcolor("red")
pensize(3)
hideturtle()
begin_fill()
circle(100)
end_fill()

思考:

  • hideturtle()函数的作用是什么?
  • if…else…语句是否可以放在程序的其它位置?
  • 能否改写程序,用input函数分别输入N,画笔大小,圆半径的值。

3.2 双路分支结构-扩展

if <条件表达式>:
  <表达式1>
else:
  <表达式2>

<表达式1> if <条件表达式> else <表达式2>

功能:

  • 当条件表达式为True时,执行表达式1,否则执行表达式2
#例3-8
#E3-8.py
from random import *
num=randint(0,10)
x=int(input("请输入一个数:"))
if num==x:
  print("恭喜你猜对啦!")
else:
  print("很遗憾,没有猜对哟!")
print("随机数是:",num)
# 可写成print("恭喜你猜对啦!") if num==x else print("很遗憾,没有猜对哟!")
#例3-7
#E3-7.py
N=int(input("请输入一个整数:"))
if N%2==0:
  print("这是个偶数")
else:
  print("这是个奇数")
# 可写成print(“这是个偶数”)  if  N%2==0 else print(“这是个奇数")

3.3 多路分支结构

if <条件表达式1>:
  <语句块1>
elif <条件表达式2>:
  <语句块2>
……
elif <条件表达式n>:
  <语句块n>
[else:
  <语句块n+1>]

3.3 多路分支结构

【例3-10】用多路分支结构改写【例3-4】,即输入腋下体温值t,根据如下情况分别输出:

t<36.1输出:您的体温偏低
36.1<=t<=37.2 输出:您的体温正常
37.3<t输出:您的体温偏高

#E3-4.py
t=eval(input("请输入体温值:"))
if t<36.1:
  print("您的体温偏低")
if 36.1<=t<=37.2:
  print("您的体温正常")
if 37.3<t:
  print("您的体温偏高")

#E3-10.py
t=eval(input("请输入体温值:"))
if t<36.1:
  print("您的体温偏低")
elif  t<=37.2:
  print("您的体温正常")
elif 37.3<t:
  print("您的体温偏高")
# 或 else:

思考:

  • 上面两个方法在程序的执行效率上会有不同吗?
  • 在使用多路分支结构时,是不是所有情况下,最后一个分支都可以是用elif 或 else?

【例3-11】输入学生成绩 ,根据成绩进行分类:

90分以上优秀
80~89分 良好
70~79分 中等
60~69分 及格
低于60分不及格

#E3-11.py
score=eval(input("成绩:"))
if score>=90:
  print("优秀")
elif score>=80:
  print("良好")
elif score>=70:
  print("中等")
elif score>=60:
  print("及格")
else:
  print("不及格")

课堂小结

  • 单路分支结构
if  <条件表达式>:
  <语句块>
  • 双路分支结构
if  <条件表达式>:
  <表达式1>
else:
  <表达式2>
  • 多路分支结构
if <条件表达式1>:
  <语句块1>
elif <条件表达式2>:
  <语句块2>
……
elif <条件表达式n>:
  <语句块n>
[else:
  <语句块n+1>]

课后作业

1.新建程序文件 “姓名-3-1.py”,从键盘输入一个字符,赋值给变量ch,判断它是英文字母、数字还是其他字符。
提示:
分析下列三种情况

  • 英文字母:
    ch>="a" and ch<="z" or ch>="A" and ch<="Z"
  • 数字字符:ch>="0"and ch<="9"
  • 其他字符

2.中国古代关于人类年龄阶段的划分
据秦汉的《礼记·礼上第一》记载:“人生十年曰幼,学。二十曰弱,冠。三十曰壮,有室。四十曰强,而仕。五十曰艾,服官政。六十曰耆,指使。七十曰老,而传。八十、九十曰耄。百年曰期,颐。”
要求 :编写程序“姓名-3-2.py” ,当输入一个年龄后,按中国古代年龄段划分,给出这个年龄的年龄段名称。如输入 年龄“20”,输出“弱”

3.为了评价一个人是否肥胖,1835年比利时统计学家和数学家凯特勒提出一种简便的判定指标BMI(身体质量指数)。BMI的定义如下:BMI=体重(kg)÷身高2(m)按照这个计算方法,WHO(世界卫生组织)1997年公布了一个判断人肥胖程度的BMI标准,后来又公布了中国参考标准。
要求 :编写程序“姓名-3-3.py” ,根据上述资料,输入一个人的体重和身高,按中国参考标准输出BMI分类值

4.中国大学Mooc平台上第三周的学习,并按时完成第三周的单元测试,单元测试截止时间3月22日0时。

相关文章

  • 2020年3月18日 第三章 程序控制结构-1

    第三章 程序控制结构-1 1.程序基础 2.顺序结构 3.分支结构 4.循环结构 5.嵌套程序 6.程序的异常处理...

  • 2020年3月19日 第三章 程序控制结构-2

    第三章 程序控制结构-2 3.2 双路分支结构 双路分支结构是一种二选一,即一个条件分两种情形处理 语法格式 当<...

  • 2020年4月2日 第三章 程序控制结构-6

    第三章 程序控制结构-6 5 嵌套程序 无论是分支结构还是循环结构,都允许嵌套。嵌套就是分支内还有分支,循环内还有...

  • 程序控制结构 2

    程序的分支结构 单分支结构: 根据判断条件结果而选择不同向前路径的运行方式 if <条件>: <语句块> 二分...

  • 2020年3月25日 第三章 程序控制结构-3

    第三章 程序控制结构-3 知识回顾与导入 4 循环结构 在程序设计过程中,经常需要将一些代码按照要求重复多次执行,...

  • 2020年3月26日 第三章 程序控制结构-4

    第三章 程序控制结构-4 4 循环结构 在程序设计过程中,经常需要将一些代码按照要求重复多次执行,这时就需要用到循...

  • 2020年4月1日 第三章 程序控制结构-5

    第三章 程序控制结构-5 4.3 循环的特殊控制语句 功能 在程序执行过程中,有时候需要提前跳出循环;或者在某种条...

  • 第三章 流程控制

    一.程序控制 种类: 顺序及结构顺序结构.png 选择结构选择结构.png 循环结构循环结构.png 二.条件语句...

  • 编程范式

    结构化编程 结构化编程对程序控制权的直接转移进行了限制和规范 面向对象编程 面向对象编程对程序控制权的间接转移进行...

  • JS基础--2

    js中的程序控制语句 常见的程序有三种执行结构: 顺序结构 分支结构 循环结构 顺序结构:程序从第一行开始执行,按...

网友评论

      本文标题:2020年3月19日 第三章 程序控制结构-2

      本文链接:https://www.haomeiwen.com/subject/ywelyhtx.html