上章说了程序的基本结构,这章说下分支结构。
程序的分支结构
单分支结构:if语句:
Python的单分支结构使用if保留字对条件进行判断,使用方式如:
if<条件>:
语句块
其中,if、:和<语句块>前的缩进都是语法的一部分。<语句块>是if条件满足后执行的一个或多个语句序列,缩进表达<语句块>与if 的包含关系。<条件>是一个生产True或False结果的语句,当结果为真时,执行<语句块>,否则就跳过。
# 判断用户输入数字的奇偶性
s = eval(input("请输出一个整数:"))
if s % 2 == 0 :
print("这是个偶数")
print("输入数字是:", s)
<条件>是一个或多个条件,多个条件间采用and或or进行逻辑组合。and表示多个条件“与”的关系,or表示多个条件“或”的关系
# 判断用户输入数字的特定
s = eval(input("请输出一个整数:"))
if s % 3 == 0 and s % 5 == 0 :
print("这个数字既能被3整除,又能被5整除")
print("输入数字是:", s)
二分支结构:if-else语句:
Python的二分支结构使用if-else保留字对条件进行判断,语法格式如:
if<条件>:
<语句块1>
else:
<语句块2>
<语句块1>在if中<条件>满足计委true时执行,为false时执行<语句块2>。简单点说根据条件的true或false结果的不同产生两条路径。
# 判断用户输入数字的某个属性
s = eval(input("请输出一个整数:"))
if s % 3 == 0 and s % 5 == 0:
print("这个数字能够同时被3和5整除")
else:
print("这个数字不能够同时被3和5整除")
二分支结构还有一种更简洁的表达方式,适合true和false两种结果只包含简单表达式的情况下:
<表达式1> if <条件> else <表达式2>
# 判断用户输入数字的某个属性
s = eval(input("请输出一个整数:"))
token = "" if s % 3 == 0 and s % 5 == 0 else "不"
print("这个数字{}能够同时被3和5整除".format(token))
多分枝结构:if-elif- ...-else语句:
Python的if-elif-else描述多分支结构,语句格式如下:
多分支结构通常用于判断同一个条件或一类条件的多个执行路径。要注意,Python会按照多分支结构的代码顺序依次评估判断条件,寻找并执行第一个结果为True条件对应的语句块,当前语句块执行后跳过整个if-elif-else结构。
利用多分支结构编写代码时要注意多个逻辑条件的先后关系。
例如:获取用户输入的一个百分制成绩,转换成五分制,给出对应的A、B、C、D、E等级。
看看以上代码是否有错误? 输出结果是否正确?显然,百分制80分不应该是等级D,上述代码运行正确但逻辑存在错误,在于弄错了多个逻辑条件的先后关系,修改后代码如下:
以上是修改后的代码判断条件及组合:
分支结构中的判断条件可以使用任何能够产生True或False的语句或函数。形成判断条件最常见的方式是采用关系操作符
>>>4 < 5
True
>>>"Python" > "python"
False
Python语言中,任何非零的数值、非空的数据类型都 等价于True,0或空类型等价于False,可以直接用作判 断条件。
>>>0 == False
True
>>>"" == True
False
Python语言使用保留字not、and和or对条件进行逻辑运算或组着。
保留字not表示单个条件的“否”关系,and表示多个条件之间的“与”关系,保留字or表示多个条件之间的“或”关系。
>>>not True
False
>>>a = 80
>>>( a > 100) or ( a > 50 and a < 90)
True
以上就是本章所说的内容了 如有其他不明白的地方请在下面留言
网友评论