Python 条件语句
Python 条件语句
你可能会好奇:“程序怎么知道什么时候该做什么呢?” 比如,一个游戏程序怎么知道你得分够高了,该进入下一关?或者一个聊天软件怎么知道你输入的密码对不对?这就需要用到条件语句
条件语句就像生活中的“如果…就…”。比如:“如果明天下雨,就带伞。” 程序里的条件语句也是这个道理,它会先判断一个条件是不是成立,即,是真的还是假的,然后根据判断结果决定接下来执行哪段代码。
一、什么是“条件”?真和假是什么意思?
在Python里,条件语句会判断一个“条件”的结果是真(True)还是假(False)。
- 什么是“真”(True)?
- 数字里,除了0以外的任何数字(比如1, 3.14, -5)都是True。
- 文字里,除了空字符串(
""或'')以外的任何内容,比如”hello”, “123”等等都是True。 - 简单说:非0、非空的值,都被看作是True。
- 什么是“假”(False)?
- 数字0(比如0, 0.0)。
- 空字符串(
""或'')。 - 还有一个专门的关键字
None,表示什么都没有 - 简单说:0、空值、None,都被看作是False。
二、最基本的条件语句:if 语句
if 语句是最简单的条件语句,它的意思是:“如果某个条件成立(是True),就执行下面的代码。”
1. if 语句的基本格式
1 | if 判断条件: |
- 重要规则:
if后面的判断条件必须加冒号:。if条件成立后要执行的代码块,必须向右缩进,通常是按一下Tab键,或者4个空格。Python就是通过缩进来区分哪些代码属于这个条件的。
2. 举个例子
设想一下,你写了一个简单的程序,想知道变量 name 是不是 “python”。
1 | name = 'luren' # 给变量 name 赋值为 'luren' |
运行结果是什么呢?
因为 name 是 ‘luren’,不等于 ‘python’,所以 if 里面的 print('welcome boss') 不会执行。最后只会打印:
1 | 程序结束了 |
如果我们把 name = 'luren' 改成 name = 'python',那么 if 条件成立,运行结果就是:
1 | welcome boss |
3. if 语句的执行过程
三、“如果…不满足,就…”:if-else 语句
有时候,我们不仅想知道“条件成立时做什么”,还想知道“条件不成立时做什么”。这时候就需要 else 了。else 的意思是“否则”。
1. if-else 语句的基本格式
1 | if 判断条件: |
else后面也要加冒号:。else下面的代码块也要缩进。
2. 举个例子
还是上面的 name 例子,我们可以加上 else:
1 | name = 'luren' |
运行结果:
因为 name 是 ‘luren’,if 条件不成立,所以执行 else 里面的 print(name),输出:
1 | luren |
如果 name 是 ‘python’,则输出:
1 | welcome boss |
3. if-else 的执行过程
四、“如果…就…;否则如果…就…;否则就…”:if-elif-else 语句
生活中我们经常会遇到多种选择。比如:“如果考试得了90分以上,就奖励玩具;否则如果得了80分以上,就奖励零食;否则,就继续努力。”
在Python里,elif 就是“否则如果”的意思,可以帮我们处理多种条件判断。
1. if-elif-else 语句的基本格式
1 | if 判断条件1: |
elif是else if的缩写。elif后面也要加冒号:,代码块也要缩进。else是可选的,放在最后,表示所有条件都不满足时的情况。
2. 举个例子
假设我们根据数字 num 的值输出不同的身份:
1 | num = 5 # 我们来看看 num=5 会输出什么 |
思考一下: num 是5。
num ==3? 不是(False)。num ==2? 不是(False)。num ==1? 不是(False)。num <0? 不是(False)。- 所以执行
else,输出:roadman。
3. if-else-else 的执行过程
五、多个条件一起判断:and 和 or
有时候,我们的条件不是单一的,可能需要同时满足几个条件,或者满足其中一个条件就可以。这时候就要用到 and(表示并且/与)和 or(表示或者/或)。
1. and(并且):所有条件都为 True,结果才是 True
格式:条件A and 条件B
- 只有当 条件A为True,并且条件B也为True 时,整个表达式才是True。
- 只要有一个条件是False,整个表达式就是False。
例子:判断一个数字是否在0到10之间
1 | num = 9 |
2. or(或者):只要有一个条件为 True,结果就是 True
格式:条件A or 条件B
- 只要 条件A为True,或者条件B为True,或者两者都为True,整个表达式就是True。
- 只有当所有条件都为False时,整个表达式才是False。
例子:判断一个数字是否小于0或者大于10
1 | num = 10 |
3. 更复杂的组合:使用括号 ()
如果条件更复杂,可以用括号 () 来改变判断的顺序,就像数学里先算括号里的一样。
例子:判断一个数字是否在05之间,或者在1015之间
1 | num = 8 |
这里 (num >= 0 and num <=5) 是一个整体条件,(num >=10 and num <=15) 是另一个整体条件,用 or 连接,表示满足其中一个整体条件即可
六、简单的一行 if 语句(了解即可)
如果 if 条件成立后要执行的代码非常简单,只有一行,Python允许我们把它和 if 写在同一行。
例子:
1 | var = 100 |
运行结果:
1 | 变量 var 的值为100 |
这种写法虽然简洁,但如果代码多了就不推荐了,会影响可读性
练习
一、基础练习
练习1:判断奇偶数
题目: 输入一个整数,判断它是奇数还是偶数。
(提示:一个数除以2如果余数为0就是偶数,否则是奇数。用 % 运算符求余数。)
参考答案
1 | num = int(input("请输入一个整数: ")) # input()获取用户输入,int()转换为整数 |
测试:
- 输入 4 → 4 是偶数
- 输入 7 → 7 是奇数
练习2:比较两个数的大小
题目: 输入两个整数,比较它们的大小,并输出较大的那个数。如果两个数相等,也提示。
参考答案
1 | a = int(input("请输入第一个整数: ")) |
测试:
- 输入 5 和 3 → 5 大于 3
- 输入 2 和 7 → 7 大于 2
- 输入 4 和 4 → 4 和 4 相等
练习3:判断成绩等级
题目: 输入一个学生的分数(0-100),根据分数判断等级:
- 90-100分:A
- 80-89分:B
- 70-79分:C
- 60-69分:D
- 0-59分:F
- 如果分数不在0-100之间,提示“分数输入错误!”
参考答案
1 | score = float(input("请输入学生分数(0-100): ")) |
测试:
- 输入 95 → 等级:A
- 输入 83 → 等级:B
- 输入 77 → 等级:C
- 输入 62 → 等级:D
- 输入 45 → 等级:F
- 输入 105 → 分数输入错误!
- 输入 -5 → 分数输入错误!
二、综合练习
练习4:简单的登录验证
题目: 假设系统中有一个预设的用户名 “admin” 和密码 “123456”。
请用户输入用户名和密码,如果两者都正确,打印“登录成功!”;
如果用户名错误,打印“用户名不存在!”;
如果用户名正确但密码错误,打印“密码错误!”。
参考答案
1 | # 预设的正确用户名和密码 |
或者,使用逻辑运算符合并条件:
1 | correct_username = "admin" |
测试:
- 用户名:admin,密码:123456 → 登录成功!
- 用户名:user,密码:123456 → 用户名不存在!
- 用户名:admin,密码:wrong → 密码错误!
练习5:电影票价计算
题目: 某电影院根据观众的年龄和是否为会员来决定票价:
- 会员:
- 年龄 < 18岁:票价 30元
- 年龄 >= 18岁:票价 40元
- 非会员:
- 年龄 < 18岁:票价 45元
- 年龄 >= 18岁:票价 55元
请用户输入年龄和是否为会员(输入 “y” 或 “Y” 表示会员,其他表示非会员),计算并输出票价。
参考答案
1 | age = int(input("请输入您的年龄: ")) |
测试:
- 年龄15,输入y → 30元
- 年龄20,输入Y → 40元
- 年龄12,输入n → 45元
- 年龄30,输入m → 55元
三、挑战练习(选做)
练习6:石头剪刀布
题目: 简单实现石头剪刀布游戏。
- 程序随机选择石头、剪刀或布(用数字1代表石头,2代表剪刀,3代表布)。
- 用户输入自己的选择(1/2/3)。
- 判断胜负规则:
- 石头(1) 胜 剪刀(2)
- 剪刀(2) 胜 布(3)
- 布(3) 胜 石头(1)
- 双方选择相同则平局。
- 输出电脑的选择和比赛结果
(提示:可以使用 random.randint(1,3) 来生成电脑的随机选择,需要先导入 random 模块:import random)
参考答案
1 | import random |
游戏逻辑解释:
当 user_choice != computer_choice 时,只有三种情况用户会赢:
(user_choice=1 且 computer_choice=2) OR (user_choice=2 且 computer_choice=3) OR (user_choice=3 且 computer_choice=1)。其他情况就是用户输了。
测试(注意:每次运行结果可能不同,因为电脑是随机的):
- 电脑选1,用户选1 → 平局
- 电脑选2,用户选1 → 你赢了
- 电脑选3,用户选1 → 你输了 (因为布赢石头)
- 电脑选1,用户选2 → 你输了 (因为石头赢剪刀)
- 电脑选2,用户选2 → 平局
- 电脑选3,用户选2 → 你赢了 (因为剪刀赢布)
- 电脑选1,用户选3 → 你赢了 (因为布赢石头)
- 电脑选2,用户选3 → 你输了 (因为剪刀赢布)
- 电脑选3,用户选3 → 平局
希望这些练习能帮助你更好地理解和掌握 Python 条件语句!一定要自己动手敲代码,不要只是看答案哦! 遇到问题多思考,多尝试修改代码,这样才能真正学会。加油!








