Python基础:程序结构与分支控制详解
本文详细解析Python的三大基本程序结构:顺序、选择与循环。重点讲解如何获取对象布尔值,并深入剖析单分支、双分支、多分支及嵌套if语句的语法与实战应用,同时介绍pass空语句的占位用法,帮助初学者掌握Python条件控制的核心逻辑。
一、程序的组织结构
无论是简单的算法还是复杂的逻辑,均可通过顺序结构、选择结构和循环结构这三种基本构建模块进行组合与实现。
二、顺序结构
在顺序结构中,程序代码严格按照从上到下的顺序依次执行,中间不包含任何条件判断或跳转指令,直至程序运行结束。
三、对象的布尔值
在Python中,万物皆对象,且每一个对象都拥有对应的布尔值属性。
- 获取对象的布尔值
- 可以使用Python内置的bool()函数来明确获取一个对象的布尔值。
- 以下对象在转换为布尔值时结果为False
print(bool(False))
print(bool(0))
print(bool(0.0))
print(bool(None))
print(bool(''))
print(bool(""))
print(bool([])) #空列表
print(bool(list())) #空列表
print(bool(())) #空元组
print(bool({})) #空字典
print(bool(dict())) #空字典
print(bool(set())) #空集合
print('------------其他对象的布尔值均为True-----------------')
print(bool(18))
print(bool("0"))
输出:
False False False False False False False False False False False ------------其他对象的布尔值均为True----------------- True True
四、分支结构
选择结构
选择结构允许程序根据条件表达式的布尔结果,有选择地执行特定的代码块。
其核心目的是明确指示计算机在满足何种条件时执行特定操作,从而实现逻辑分支。
单分支结构
中文语义:如果…就…
例如:如果下雨,就带伞。
语法结构:
if 条件表达式:
条件执行体
#判断余额是否充足
if money >=s:
money=money-s
print('取款成功,余额为:',money)
输入100,输出:
请输入取款金额:100 取款成功,余额为: 900
若输入1200,由于条件不满足,则不继续执行后续代码。
双分支结构
中文语义:
如果…不满足…就…
例如:如果中奖就领奖,没中奖就不领。
语法结构:
if 条件表达式:
条件执行体1
else:
条件执行体2
#双分支结构if...else... 二选一执行
num=int(input('请输入一个整数:'))
#条件判断
if num%2==0:
print(num,'是偶数')
else:
print(num,'是奇数')
输入9,输出:
请输入一个整数:9 9 是奇数
输入10,输出:
请输入一个整数:10 10 是偶数
多分支结构
中文语义
成绩是90以上吗? 不是
成绩是80到90分之间吗?不是
成绩是70到80分之间吗?不是
成绩是60到70分之间吗?不是
成绩是60分以下吗?是
语法结构:
if 条件表达式1:
条件执行体1
elif 条件表达式2:
条件执行体2
elif 条件表达式N:
条件执行体N
[else:]
条件执行体N+1
方括号表示该部分可选,即可写可不写。
代码示例:
'''
多分支结构,多选一执行
90-100 A
80-89 B
70-79 C
60-69 D
0 -59 E
小于0或者大于100为非法数值
'''
score= int(input('请输入一个分数:'))
#判断
if score >=90 and score <=100:
print('A级')
elif score >=80 and score <= 89:
print('B级')
elif score >= 70 and score <= 79:
print('C级')
elif score >=60 and score <= 69:
print('D级')
elif score >=0 and score <=59:
print('E级')
else:
print('对不起,成绩有误,不在成绩的有效范围内')
请输入一个分数:99 A级
请输入一个分数:66 D级
请输入一个分数:122 对不起,成绩有误,不在成绩的有效范围内
写法改造
'''
多分支结构,多选一执行
90-100 A
80-89 B
70-79 C
60-69 D
0 -59 E
小于0或者大于100为非法数值
'''
score= int(input('请输入一个分数:'))
#判断
if 90 <=score <=100:
print('A级')
elif 80<=score <= 89:
print('B级')
elif 70<=score <= 79:
print('C级')
elif 60<=score <= 69:
print('D级')
elif 0<=score <=59:
print('E级')
else:
print('对不起,成绩有误,不在成绩的有效范围内')
输出:
请输入一个分数:100 A级
嵌套if
语法结构:
if 条件表达式1:
if 内层条件表达式:
内层条件执行体1
else:
内层条件执行体2
else:
条件执行体
代码示例
'''
会员 >= 200 8折
>= 100 9折
非会员 >= 9.5折
不打折
'''
answer= input('您是会员吗?y/n')
money=float(input('请输入您的购物金额:'))
#外层判断是否是会员
if answer=='y':
if money>=200:
print('打8折,付款金额为:',money*0.8)
elif money>=100:
print('打9折,付款金额为:',money*0.9)
else:
print('不打折,付款金额为:',money) #虽然是会员,但金额太小不打折
else: #非会员
if money >=200:
print('打9.5折,付款金额为:',money*0.95)
else:
print('不打折,付款金额为:',money)
输出:
您是会员吗?y/ny 请输入您的购物金额:2000 打8折,付款金额为: 1600.0
您是会员吗?y/ny 请输入您的购物金额:100 打9折,付款金额为: 90.0
五、ass空语句
pass语句
#pass语句,什么都不做,只是一个占位符,用到需要写语句的地方
answer = input('您是会员吗?y/n')
#判断是否为会员
if answer=='y':
pass
else:
pass
pass语句用于占位,表示此处暂时不执行任何操作,后续可补全代码。
利用对象的布尔值
age = int(input('请输入您的年龄:'))
if age: #不用判读,直接利用对象的布尔值
print(age)
else:
print('年龄为:',age)
输出:
请输入您的年龄:18 18
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注本站的更多内容!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













