Chapter4选择结构与循环结构.ppt

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10
4.1.2 选择结构
常见的选择结构有单分支选择结构、双分支选择结构、多分支选择结构以及 嵌套的分支结构,也可以构造跳转表来实现类似的逻辑。
循环结构和异常处理结构中也可以带有“else”子句,可以看作是特殊形式 的选择结构。
11
1. 单分支选择结构
If 条件表达式: 语句块
已知圆半径为r,避免出现半径小于0的非 正常情况,则有
2020/5/18
27
4.2.1 while循环
while循环结构的语法形式为:
while 条件表达式: 循环体
[else: else子句代码块]
2020/5/18
28
ex4-4显示字符串100次。 Count = 0 While count <100:
print(“Programming is fun!”) count += 1
print("wrong! score must be between 0 and 100 ") else:wenku.baidu.com
index = (score-60)//10 if index >=0:
print("成绩是 ",degree[index]) else:
print("成绩是 ",degree[-1])
21
5. 多分支选择结构
Trace while Loop
count = 0 while count < 2:
print("Programming is fun!") count = count + 1
Print Welcome to Python
35
animation
Trace while Loop
count = 0 while count < 2:
animation
Trace while Loop
count = 0 while count < 2:
print("Programming is fun!") count = count + 1
(count < 2) is still true since count is 1
34
animation
else: print(“输入非法!”)
13
If 语句示例
ex4-1 改写程序ex2-2。
import math
radius = eval(input("Enter a value for radius: ")) # Prompt the user to enter a radius
if radius<0:
num = int(input("Enter a number: ")) if num % 2 == 0:
print (num," 是偶数") else:
print (num," 是奇数")
2020/5/18
17
3. 三元运算符if …else
Python还提供了一个三元运算符,语法为:
value1 if condition else value2
If r > 0: area = r * r * math.pi print(“圆面积为”,area)
12
2. 双分支选择结构
if 条件表达式: 语句块1
else: 语句块2
已知圆半径为r,避免出现半径小于0的非 正常情况,则有
If r > 0: area = r * r * math.pi print(“圆面积为”,area)
print("Invalid Input !")
else:
area = radius * radius * math.pi
# Compute area
perimeter = 2 * radius * math.pi
# Compute perimeter
print("The area of the circle is",area)
当条件表达式condition的值与True等价时,表达式的值为value1,否则表达
式的值为value2。
>>> b = 6 if 5>13 else 9 >>> b 9
#赋值运算符优先级非常低
18
示例:给一个变量赋值,用if语句: if x>0:
y=1 else:
y=-1 同样的效果可以写成如下表达式。 y=1 if x>0 else y=-1
2020/5/18
19
4. if-else 语句的嵌套
将一个if语句放在另一个if语句中就形成了一个嵌套if语句。 if 表达式1:
语句块1 if 表达式2:
语句块2 else:
语句块3 else:
if 表达式4: 语句块4
注意:缩进必须要正确并且一致。
20
ex4-2 使用嵌套的选择结构实现百分制成绩到等级制的转换。 degree = 'DCBAAE' score = eval(input("Enter the score of student: ")) if score > 100 or score < 0:
输入数据
条件 表达式
True
数据计算或
处理 1
False
数据计算或
处理 2
输出数据
End
8
4.1.1 条件表达式
布尔类型和关系运算符 布尔类型的数值:True或False。 比较两个数值的大小使用比较运算符,(也称为关系运 算符)。
Python 提供了6种比较运算符
关系运算符 名称
<
小于
>>> n=5 >>> n>0 True >>> n<0
x=1
print("x= %d y=%d" % (x,y))
2020/5/18
16
salary = 3000
grade = int(input("Enter a grade: "))
if grade > 90:
salary += salary * 0.3 else:
salary += salary * 0.1 print ("实际报酬为:",salary)
print("成绩是 ",'F') else:
print("输入成绩必须>0")
23
2020/5/18
24
课堂练习 4-2
1.计算身体质量指数BMI.
编写一个程序,提示用户输入身高和体重,然后显示BMI值。16岁以上人群的
BMI表如下:
BMI = Weight/Height**2 if BMI < 18.5:
if-elif-else语句:
if 表达式1:
语句块1
elif 表达式2:
语句块2
elif 表达式3:
语句块3 else:
其中,关键字elif是else if的缩写。
语句块4 22
5. 多分支选择结构
ex4-3 使用多分支选择结构将成绩从百分制变换到等级制。
score = int(input("Please Enter score of a student: ")) if score > 100:
turtle.forward(50) turtle.right(90) turtle.color("green") turtle.forward(100)
turtle.right(45) turtle.forward(100) turtle.circle(30) turtle.done()
2020年5月18日星期一
4
2. 几个生动样例
2020年5月18日星期一
5
4.1 选择结构
2020/5/18
2020/5/18
6
问题
在程序ex2-2中,如果输入的radius是个负值,显然这是一个无效的结果,将如何处理,并
在程序中表现出来?
Python提供了选择结构的语句使之在出现两个或两个以上的情况下,做出不同的操作。
<=
小于等于
>
大于
>=
大于等于
False >>> >>> n==0 False
==
等于
!=
不等于
9
4.1.1 条件表达式
绝大部分合法的Python表达式都可以作为条件表达式。 在选择和循环结构中,条件表达式的值只要不是 False、0(或0.0、0j等)、空值None、空列表、空元组、空集合、空字典、 空字符串、空range对象或其他空迭代对象, Python解释器均认为与True等价。
print("输入成绩必须<=100") elif score >= 90:
print("成绩是 ",'A') elif score >= 80:
print("成绩是 ",'B') elif score >= 70:
print("成绩是 ",'C') elif score >= 60:
print("成绩是 ",'D') elif score >= 0:
通过控制小海龟的移动,可以得到你希望的图形。
Y
(0,0)
X
2020年5月18日星期一
3
1. Turtle的简单示例testTurtle.py
turtle.write("Welcome to Python")
turtle.forward(100)
turtle.right(90)
turtle.color("blue")
2020/5/18
15
n = eval(input("Enter a value: "))
if n % 5 == 0: print("HiFive !")
if n % 2 == 0: print("HiEven !")
y = eval(input("Enter a value: ")) x=-1 if y > 0:
count = 0 while count < 2:
print("Programming is fun!") count = count + 1
31
(count < 2) is true
animation
Trace while Loop
count = 0 while count < 2:
print("Programming is fun!") count = count + 1
程序ex2-2可以改写为:
if radius<0:
print("Invalid Input !")
else:
area = radius * radius * 3.14
# Compute area
perimeter = 2 * radius * 3.14
2020/5/18
7
2020/5/18
Start
Python编程及应用
于凤霞
第四章 选择结构与循环结构
2020/5/18
2020/5/18
2
Turtle
Turtle 是Python内嵌的绘制线、圆以及其它形状的图形 模块。在画布上,Turtle就是画笔,起始位置就在画布中心
可以想象画布就是一个起点是坐标轴(0,0),坐标原点上 有一只面朝x轴正方向的小海龟,小海龟在坐标平面的移动, 就是各种各样的图形。
2020/5/18
29
animation
Trace while Loop
count = 0 while count < 2:
print("Programming is fun!") count = count + 1
30
Initialize count
animation
Trace while Loop
Print Welcome to Python
32
animation
Trace while Loop
count = 0 while count < 2:
print("Programming is fun!") count = count + 1
33
Increase count by 1 count is 1 now
print("您的体型偏瘦!")
elif BMI < 24.9: print("恭喜您,健康!")
elif BMI < 29.9: print("您已超重!")
else: print("您已超过正常指标!")
5/18/2020
25
4.2 循环结构
2020/5/18
2020/5/18
26
问题
假如需要显示一个字符串100次(例如,”Programming is fun”)。 解决方法1. 直接输入这个语句100次: “Programming is fun!” “Programming is fun!” 。。。 “Programming is fun!” 解决方法2. 使用循环语句
# Display results
print("The perimeter of the circle is",perimeter)
2020/5/18
14
课堂练习 4-1
1. 提示用户输入一个整数,如果该数字是5的倍数,程序显示结果HiFive, 如果该数字能被2整除,则显示HiEven。
2. 编写一个程序,输入y 的值,如果y>0, 则x值为1,输出x,y的值。 3. 编写一个程序,给一个评分,如果评分值大于90,则报酬增加3%,否则 增加1%,输出实际报酬。 4. 输入一个整数,判断该数的奇偶性。
相关文档
最新文档