Python基础:程序结构与分支控制详解

Evan
Evan
发布时间:2026-10-15 | 4人浏览过
原创

本文详细解析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

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注本站的更多内容!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表