【解锁技能】学会Python条件语句的终极指南!
- 开源代码
- 2025-08-19 23:09:04

文章目录 前言一. python条件语句的介绍1.1 什么是条件语句1.2 条件语句的语法1.3 关于内置函数bool() 二. 分支语句之单分支三. 多分支语句3.1 二分支语句3.2 多分支语句3.3 嵌套循环 总结 前言
🏠个人主页:欢迎访问 沐风晓月的博客
🧑个人简介:大家好,我是沐风晓月,毕业于双一流院校计算机专业,是一名热爱分享的阿里云社区专家博主。 我喜欢探索新技术,研究创新应用,以实战经验为主,总结并分享我在学习和工作中的心得体会。 💕座右铭:先努力成长自己,再帮助更多的人,和我一起努力,让生活更加美好吧! 💕欢迎大家:这里是我的CSDN博客,一个分享知识的平台。 💕 如果你也热爱技术,想了解最新的IT趋势,想获取实用的学习资料,欢迎来访,三连支持,有问题私信我哦!让我们一起探索无限可能!😘
一. python条件语句的介绍 1.1 什么是条件语句Python的条件语句是一种编程结构,用于根据条件的真假来控制程序执行的流程。它们通常用于对特定条件执行不同的代码块。
python中为什么会有条件语句?其实编程语言和我们用的汉语,英语异曲同,当一种表达满足不了需求的时候,肯定会考虑用其他的方式来表述。
比如我们常见的逻辑运算符:
如比较运算符(例如等于,不等于,大于,小于等)和布尔运算符(例如与、或、非等)。
一旦出现这些运算符的时候代表可能有不同的选择,比如大于的时候怎么办,小于的时候又该怎么办等。
而条件语句就是用来承接不同条件下执行不同代码快的设定。
例如,当满足某个条件时,程序可以执行一段代码,否则可以执行另一段代码。这使得程序可以根据不同的情况采取不同的行动,从而实现更加智能和适应性的功能。
Python中最常见的条件语句是if语句,它通常由if、elif和else关键字组成。if语句用于测试一个条件,如果条件为真,就执行紧跟在它后面的代码块,否则执行elif或者else语句块。通过这些条件语句,Python程序可以在不同的情况下执行不同的代码,从而实现更加灵活和智能的程序控制。
Python中有两种条件语句:if语句和if…else语句
1.2 条件语句的语法 if语句的语法如下: if 条件: 执行语句1 执行语句2 ...如果条件成立,则执行相应的语句块。如果条件不成立,则跳过语句块并继续执行程序。
if…else语句的语法如下: if 条件: 执行语句1 执行语句2 ... else: 执行语句3 执行语句4 ...如果条件成立,则执行第一个语句块。如果条件不成立,则执行第二个语句块。
1.3 关于内置函数bool()Python一切皆对象,所有对象都有一个布尔值,想要获得布尔值需要一个内置函数bool()
bool()函数用于将给定的值转换为布尔值,如果值为True,则返回True,否则返回False。
在Python中,有许多值可以被解释为False,如数字0、空字符串、空列表、空字典和None等。除此之外,所有其他值都被解释为True。
例如: 以下对象的布尔值为False
False数值0None空字符串空列表空元组空字典空集合我们来测试下看看:
#测试对象的布尔值 print(bool(False)) print(bool(0)) print(bool(0.0)) print(bool(None)) print(bool("")) print(bool([])) #空列表 print(bool(())) #空元祖 print(bool(tuple()))#空元组 print(bool(dict())) #空字典 print(bool(set())) #空元组执行的结果全部为 false
其他关于boo()的用法:
# 布尔值为 True print(bool(1)) # True print(bool("hello")) # True print(bool([1, 2])) # True # 布尔值为 False print(bool(0)) # False print(bool("")) # False print(bool([])) # False print(bool(None)) # False在上面的代码案例中,我们传递了不同类型的值到bool()函数中,并打印了函数的返回值。
我们可以看到,在第一个和第二个打印语句中,bool()函数返回True,因为它们是非空的整数和字符串。
在第三个打印语句中,bool()函数返回True,因为它的参数是非空列表。
在后面的打印语句中,bool()函数返回False,因为它们的参数是可以被解释为False的值,例如空字符串、空列表、数字0和None。
二. 分支语句之单分支Python的单分支语句是if语句的最基本形式,它的语法如下:
if expression: statement(s)其中,expression是一个表达式,它的值会被解释为True或False。如果expression的值为True,则执行statement(s),否则跳过这些语句.
需要注意以下几点:
在if语句中,expression后面必须加上冒号(:),否则会报语法错误。
statement(s)必须缩进一个固定数量的空格或制表符,通常是4个空格或1个制表符。这个缩进是必需的,因为它表明哪些语句属于if语句的范围内。如果不缩进或缩进不正确,程序将无法执行或执行错误的代码块。
expression的结果必须是布尔值(True或False)。如果表达式的结果是其他类型的值(例如整数或字符串),Python会自动将其转换为布尔值。通常情况下,非零数字和非空字符串会被解释为True,而零和空字符串会被解释为False。
案例一: 写一个单分支语句判断是否年满18岁
age = 18 if age >= 18: print("你已经成年了,可以去网吧!")注释: 在这个例子中,age的值为18,所以age >= 18表达式的结果为True。因此,print()函数会被执行,并输出一条消息。如果age的值小于18,print()函数将不会被执行,因为if语句的条件不满足。
案例二: 写一个简易取款程序,判断取款余额是否充足
money=1000 #余额 s=int(input("请输入取款金额:")) #判断余额是否充足 if money>=s: money=money-s print("取款成功,余额为:",money)注释: 首先,我们定义了一个名为money的变量,并给它赋值1000。接着,我们使用input()函数获取用户输入的取款金额,并将其转换为整数类型(使用int()函数)并赋值给s变量。
在代码的下一行,我们使用注释来解释代码的作用。注释以#字符开头,表示该行后面的内容是注释,而不是Python代码。注释用于帮助程序员理解代码的作用和设计思路,它们不会被Python解释器执行。
在注释后面,我们使用if语句来判断余额是否足够。如果money的值大于或等于s,则执行if语句后面的代码块,将s从money中减去,并打印一条消息,显示取款成功和剩余的余额。否则,如果money的值小于s,if语句后面的代码块将被跳过,不执行任何操作。
注意,在if语句后面的代码块中,我们使用了print()函数来输出一条包含余额的消息。消息包含一个字符串和一个变量(money),我们使用逗号将它们隔开,这样Python会自动将它们拼接在一起。这个技巧可以用于将字符串和变量合并成一个输出。
输出结果:
但这里也出现一个问题,当我们的取款金额高于了1000的时候,程序会直接退出:
如果你想让他有输出,就需要使用多分支语句:
三. 多分支语句 3.1 二分支语句多分之语句中我们默认包含了二分支语句,所谓的二分之就是只有两个分支
二分支语法如下:
if <condition>: <statement> <statement> else: <statement> <statement>单分支和二分支最大的不同就是二分支语句多了个else:
我们把上面的简易取款程序再次优化下:
money = 1000 # 余额 s = int(input("请输入取款金额:")) if money >= s: money = money - s print("取款成功,余额为:", money) else: print("余额不足,取款失败!")在这个代码中,我们在if语句后面添加了一个else子句。
如果if语句的条件不满足(即余额小于取款金额),则执行else后面的代码块,打印一条余额不足的消息。
如果if语句的条件满足,则跳过else子句的代码块,直接执行if语句后面的代码块。
这样,我们就用一个二分支语句处理了两种情况:余额充足和余额不足。
我们还可以利用二分支语句更容易的来判断奇偶性:
#从键盘录入一个整数,判断奇数还是偶数 num=int(input("请输入一个整数: ")) if num%2==0: print(num,"是一个偶数") else: print(num,"是一个奇数")在上面的代码中,首先,我们使用input()函数从键盘获取一个整数,并使用int()函数将其转换为整数类型,并赋值给变量num。
接下来,我们使用if语句来判断num是否为偶数。如果num可以被2整除,即num % 2 == 0,则执行if语句后面的代码块,打印一条消息,显示num是偶数。
否则,如果num不能被2整除,即num % 2 != 0,if语句后面的代码块将被跳过,执行else语句后面的代码块,打印一条消息,显示num是奇数。
这个程序中使用了一个取模运算符%,它返回除法的余数。如果num % 2的结果为0,说明num可以被2整除,即是一个偶数,否则num不能被2整除,即是一个奇数。
我们来看看测试结果:
3.2 多分支语句if多分支由if-elif-else组成,其中elif相当于else if,同时它可以使用多个if的嵌套。具体语法如下所示:
if condition1: statement1 elif condition2: statement2 elif condition3: statement3 ... else: statementN在上述语句中,if是必须的,elif和else是可选的。
condition1是一个表达式,如果它的结果为True,那么将执行statement1语句。如果condition1的结果为False,那么将测试下一个条件condition2。
如果condition2的结果为True,将执行statement2,否则测试下一个条件condition3。
这个过程一直持续到找到一个条件的结果为True,或者没有条件为True,此时将执行else语句后面的statementN。
案例一: 写一个成绩等级查询
''' 90-100 A 80-89 B 70-79 C 60-69 D 0-59 E ''' num = int(input("please input:")) print(num) if num >= 90: print('A Class') elif num >= 80: print('B Class') elif num >= 70: print('C Class') elif num >=60: print('D Class') elif num>0 and num<60: print('No Pass') else: print("对不起你的成绩不在有效范围内")注释:
首先,我们使用input()函数从键盘获取一个整数,并使用int()函数将其转换为整数类型,并赋值给变量num。
接下来,我们使用多分支语句来判断输入的num属于哪个成绩等级范围。
如果num大于或等于90,即num >= 90,则执行第一个条件if语句后面的代码块,输出"A Class"。 如果num大于或等于80,即num >= 80,则执行第二个条件elif语句后面的代码块,输出"B Class"。
依此类推,如果num属于70-79的范围,输出"C Class";
如果num属于60-69的范围,输出"D Class";如果num属于0-59的范围,输出"No Pass"。
最后,如果num小于等于0或大于100,则执行else语句后面的代码块,输出一条消息,显示输入的成绩不在有效范围内。
案例二:增加异常判断,在用户输入非规定的数值时候报出异常
在这个代码中我们其实也可以使用try… except 来捕获用户输入的无效的情况,当用户输入的不是整数类型的时候,就爆出 valueError异常。
我们在except块中处理这个异常,并提示用户重新输入。
代码如下:
try: num = int(input("请输入一个有效的成绩:")) if num < 0 or num > 100: print("请输入0到100之间的整数!") elif num >= 90: print('A Class') elif num >= 80: print('B Class') elif num >= 70: print('C Class') elif num >=60: print('D Class') else: print('E Class') except ValueError: print("输入的不是有效的整数!")这里如果用户输入的不是0到100的整数,就说明后面的判断已经没有意义了,所以先验证是不是0到100的整数。
也就是我们的第一个条件: 我们将第一个条件if num < 0 or num > 100:
我们输入一个0-100之外的整数来看看:
案例三: 多个判断条件的应用
由于Python不支持switch语句,所以多个条件判断,只能用elif来实现,如果判断需要多个条件需同时判断时,可以:
使用or (或),表示两个条件有一个成立时判断条件成功使用and (与),表示只有两个条件同时成立的情况下,判断条件才成功 # 判断值是否在小于0或大于10 num = 10 if num < 0 or num > 10: print('hello') else: print('undefine') # 输出结果: undefine # 判断值是否在0~5或者10~15之间 num = 8 if (num >= 0 and num <= 5) or (num >= 10 and num <= 15): print('hello') else: print('undefine') 3.3 嵌套循环所谓的嵌套循环,顾名思义就是在循环中还嵌套了循环:
案例一: 购物结算程序
购物结算程序,根据用户是否为会员以及购买金额的不同,给出不同的折扣。
代码的流程如下:
从用户输入中获取是否为会员的信息以及购物金额的信息。判断用户是否为会员,如果是会员则进入下一个判断;如果不是会员则根据购物金额是否满足满减条件给出折扣价并输出。判断购物金额是否满足满减条件,如果满足则给出相应的折扣;如果不满足则给出默认的折扣(即不打折)。计算折扣价并输出。 answer = input("你是会员吗?y/n") money = int(input('请输入你的购物金额:')) if answer == 'y': if money >= 200: discount = 0.8 elif money > 100: discount = 0.9 else: discount = 1.0 pay_money = money * discount print('您本次购物的原价为:{}元,折扣价为:{}元'.format(money, pay_money)) else: print("您不是会员") if money >= 500: discount = 0.9 else: discount = 1.0 pay_money = money * discount print('您本次购物的原价为:{}元,折扣价为:{}元'.format(money, pay_money))在这段代码中,我们将每个输出内容的字符串都用format()方法格式化输出,我们将两个if语句中计算折扣的部分合并在一起,并在每个if语句之外计算折扣价,避免代码的重复
执行结果:
总结✨ 原创不易,还希望各位大佬支持一下 \textcolor{blue}{原创不易,还希望各位大佬支持一下} 原创不易,还希望各位大佬支持一下 👍 点赞,你的认可是我创作的动力! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力! ⭐️ 收藏,你的青睐是我努力的方向! \textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向! ✏️ 评论,你的意见是我进步的财富! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!
【解锁技能】学会Python条件语句的终极指南!由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【解锁技能】学会Python条件语句的终极指南!”