前言
一般从第一行到最后一行逐行执行的代码是顺序结构,顺序结构并不复杂,只要符合逻辑就会一直往下进行直到结束,除了顺序结构外,还有分支机构,本文就对分支结构进行讲解。
一、分支结构是什么?
分支结构是根据条件,选择性的执行代码。在满足条件与不满足条件两种情况下,输出的结果并不一样。
二、分支结构
1.单分支
单分支结构非常简单,在代码里添加一个if条件语句,使用if可以开启代码块,如果条件为真则执行代码块
if 5 > 3:
print("结果成立")
# 输出结果为:结果成立
通过代码可以很简单看到单分支的使用场景,仅判断条件是否成立,成立则运行代码块里的内容。
2.双分支结构
双分支结构就是常见的 if else 结构,条件的成立与否会决定下一步的操作从何处开始执行
input_str = input("输入一个数字:")
input_int= float(input_str)
if input_int%3 ==0:
print("这个数是3的倍数")
else:
print("这个数不是3的倍数")
上述代码很好的运用了if else结构,来实现判断一个数字是否是3的倍数,此时虽然有两个输出,但是输出的只会显示是或不是,并不会两个都显示。这就是双分支结构,通过else实现两个分支必选一个。
3.多分支结构及分支嵌套
多分支结构的熟练运用会很好的解决多数较为复杂的问题,可以减少if的使用频率。
fir = int( input("输入第一个数字") )
sec = int( input("输入第二个数字") )
thr = int( input("输入第三个数字") )
if fir > sec:
if sec > thr:
print("他们的差为",fir-thr)
else:
if fir > thr:
print("差为",fir - sec)
else:
print("差为",thr - sec)
else:
if fir > thr:
print("他们的差为", sec - thr)
else:
if sec > thr:
print("他们的差为",sec - fir)
else:
print("他们的差为",thr - fir)
上述代码的功能是输入三个数字,用最大的数字减去最小的数字。可以看到,我们在if else里面嵌入了多个if else机构,显得比较复杂,在敲代码时也容易出现问题。
此时我们可以使用elif结构来实现多分支运行。
fir = int( input("输入第一个数字") )
sec = int( input("输入第二个数字") )
thr = int( input("输入第三个数字") )
if fir > sec:
if sec > thr:
print("他们的差为",fir-thr)
elif fir > thr:
print("差为",fir - sec)
else:
print("差为",thr - sec)
else:
if fir > thr:
print("他们的差为", sec - thr)
elif sec > thr:
print("他们的差为",sec - fir)
else:
print("他们的差为",thr - fir)
通过使用分支嵌套来实现多分支的判断运行,结构相较于连续的单独的分支结构会更简洁,更方便。
有一点可以注意,分支结构虽然需要满足条件再继续进行,但如果还没想好所需的条件,可以先用pass来暂时跳过,继续往下进行:
a = int(input("输入一个数字"))
if a > 50:
print("输入数字较大")
elif a > 25:
print("输入数字不大不小")
else:
print("输入数字较小")
这是一个完整的分支嵌入式语句,如果我们把最后的输出进行替换:
a = int(input("输入一个数字"))
if a > 50:
print("输入数字较大")
elif a > 25:
print("输入数字不大不小")
else:
pass
这样,虽然代码并不完整,但任然可以正常运行。
总结
这篇文章讲解了Python中的分支结构,从基础的单分支if语句到复杂的多分支if-elif-else结构,通过具体案例展示了不同分支结构的应用场景。对比了嵌套if和使用elif实现多分支的区别,指出elif结构能使代码更清晰简洁。