Python语言程序设计
程序的分支结构
单元开篇
程序的分支结构
-单分支结构
-二分支结构
-多分支结构
-条件判断及组合
-程序的异常处理
单分支结构
根据判断条件结果而选择不同向前路径的运行方式
False
条件?
if <条件> :
True
<语句块>语句块
单分支示例
guess = eval (input ())if True :
print ("条件正确")
if guess == 99:
print ("猜对了")
二分支结构
根据判断条件结果而选择不同向前路径的运行方式
if <条件> :
True False
条件?
<语句块1>
else :
语句块1语句块2 <语句块2>
二分支示例
guess = eval (input ())if True :
print ("语句块1")else :
print ("语句块2")
if guess == 99:
print ("猜对了")else :
print ("猜错了")
紧凑形式:适用于简单表达式的二分支结构
<表达式1> if <条件> else <表达式2> guess = eval(input())
print("猜{}了".format("对" if guess==99 else "错"))
多分支结构
True
if <条件1> :
<语句块1> elif <条件2> :
<语句块2>
……
条件1 ?语句块1 False
……
False
条件N-1 ?
False
语句块N-1
else :
语句块N <语句块N>
对不同分数分级的问题score = eval(input())
if score >= 60:
grade = "D" elif score >= 70: grade = "C"- 注意多条件之间的包含关系- 注意变量取值范围的覆盖
elif score >= 80:
grade = "B"
elif score >= 90:
grade = "A"
print("输入成绩属于级别{}".format(grade))
"程序的控制结构"
是
否
条件 ?
- 顺序结构- 分支结构- 循环结构
第1步骤选择A
选择B
第2步骤
语句块
是
条件 ?
否
条件判断及组合
操作符
操作符<数学符号描述<
≤
≥
>
=
≠
小于
<= >= >小于等于大于等于大于
==!=等于不等于
用于条件组合的三个保留字
操作符及使用x and y
x or y
描述两个条件x和y的逻辑与
两个条件x和y的逻辑或
条件x的逻辑非
not x
条件判断及组合
示例
guess = eval (input ())if not True :
print ("语句块2")else :
print ("语句块1")
if guess > 99 or guess < 99:
print ("猜错了")else :
print ("猜对了")
程序的异常处理
num = eval(input("请输入一个整数: ")) print(num**2)
当用户没有输入整数时,会产生异常,怎么处理?
基本的控制结构 一、选择题 1.VB 提供了结构化程序设计的三种基本结构,这三种基本结构是 。 (A ) 递归结构、选择结构、循环结构 (B )选择结构、过程结构、顺序结构 (C )过程结构、输入输出结构、转向结构 (D )顺序结构、选择结构、循环结构 2.下面程序段运行后,显示的结果是 。 Dim x If x then print x else print x+1 (A) 1 (B)0 (C)-1 (D)显示出错信息 3.对于语句If x=1 then y=1,下列说法正确的是 。 (A) x=1和 y=1均为赋值语句 (B )x=1和y=1均为关系表达式 (C) x=1为关系表达式,y=1为赋值语句 (D )x=1为赋值语句,y=1为关系表达式 4.用if 语句表示分段函数f(x)= 1,31 ,12<+≥+x x x x ,下列不正确的程序段是 (A) f=x*x+3 (B) if x>=1 Then f=Sqr(x+1) If x>=1 Then f=Sqr(x+1) if x<1 Then f=x*x+3 (C)if x>=1 Then f=Sqr(x+1) (D)if x<1 Then f=x*x+3 Else f=x*x+3 Else f=Sqr(x+1) 5.下面程序段,运行后显示的结果是 Dim x X=Int(Rnd)+5 Select Case x Case 5 Print “优秀” Case 4 Print “良好” Case 3 Print “通过” Case Else Print “不通过” End Select (A)优秀 (B)良好 (C)通过 (D)不通过 6.下面语句执行后,变量w 中的值是 W=Choose(Weekday(“2007,5,1”),“Red”, “Green ” “Blue ” “Yellow ”) (A)Null (B) “Red” (C) “Blue ” (D) “Yellow ” 7. 以下______是正确的For … Next 结构。 (A )For x=1 To Step 10 (B )For x = 3 To 3 Step 3 … … Next x Next x
第四章VB程序的控制结构 4.1算法概论 1.算法的概念 算法:指用计算机解决某一问题的方法和步骤。 数值算法:用于解决一般数学解析方法难以解决的问题,如:求超越方程的根、求定积分、解微分方程等。 非数值算法:用于对非数值信息进行查找、排序等。 2.算法的特征 (1)确定性:指算法的每个步骤都应确切无误,没有歧义。 (2)可行性:指算法的每个步骤必须是计算机能够有效执行、可以实现的,并可得到确定的结果。 (3)有穷性:指一个算法应该在有限的时间和步骤内可以执行完毕的。 (4)输入性:指一个算法可以有0或多个输入数据。 (5)输出性:指一个算法必须有一个或多个输出结果。 3.算法的评价 主要评价指标是:算法是否正确、运行的效率、占用系统资源的多少。 4.算法的描述 一般常用流程框图来描述算法。
5.基本算法结构 “结构化程序设计方法”规定算法有三种基本结构:顺序结构、选择结构和循环结构 6.算 法示 例 (1) 欧几里德算法——求两个自然数的最大公约数
(2)顺序查找算法——在N个字符串集合中,查找有无特定的字符串存在
4.2顺序结构 1.赋值语句 赋值语句是任何程序设计中最基本的语句,赋值语句都时顺序执行的。赋值语句的形式为:
变量名= 表达式 它的作用是计算右边表达式的值,然后赋给左边的变量,表达式的类型应该与变量名的类型一致。 2. 使用说明 (1)当表达式为数值型而与变量精度不同时,强制转换成左边变量的精度; (2)当表达式是数字字符串,左边变量是数值类型,自动转换成数值类型再赋值,但当表达式中有非数字字符或空串,则出错。 (3)任何非字符类型赋值给字符类型,自动转换为字符类型; (4)当逻辑型赋值给数值型时,True转换为-1,False转换为0;反之,非0转换为True,0转换为False; (5)赋值号左边的变量只能是变量,不能是常量、常数符号、表达式,否则报错; (6)不能在一句赋值语句中,同时给各变量赋值; (7)在条件表达式中出现的= 是等号,系统会根据= 号的位置,自动判断是否为赋值号; (8)注意N=N+1 是累加中常见的赋值语句,表示将N变量中的值加1后再赋值给N。 5 4.3选择结构(或称分支结构) 1.1. IF条件语句 (1)If……Then语句(单分支结构F) 语句形式: 1)If<表达式> Then 语句块 End If 2)If <表达式> Then <语句>