Python if-else 语句
中等5二选一:Python if-else 语句让程序学会判断
生活中我们经常需要做“二选一”的决定。比如放学后:“如果作业写完了,就看动画片;否则就写作业。” 在Python里, if-else 语句就是专门做这种“条件成立做一件事,条件不成立做另一件事”的指令。它就像一条岔路口,程序会根据条件的真假选择不同的路径执行。
什么是 if-else 语句?
if-else 的格式非常清晰:
if 条件:
条件成立时要做的事情
else:
条件不成立时要做的事情
关键点:
if后面跟着一个条件,条件末尾要加冒号:。- 条件成立时执行的代码要缩进(一般按4个空格或一个Tab)。
else后面也要加冒号,它自己的代码块同样要缩进。if和else是一对搭档,只会执行其中一个分支,不会两个都执行。
生活中的“二选一”例子
例子1:明天要不要带伞?
# 判断明天是否下雨
is_rainy = True # 假设天气预报说下雨
if is_rainy:
print("带上雨伞,别淋湿了!")
else:
print("天气好,不用带伞。")
如果 is_rainy 是 True,程序打印“带上雨伞”;如果是 False,就打印“天气好”。程序永远只选一个。
例子2:零花钱够不够买零食?
# 我的零花钱和薯片价格
money = 5 # 我有5元
chip_price = 8 # 薯片8元
if money >= chip_price:
print("哇,可以买薯片啦!")
else:
print("钱不够,还是攒一攒吧。")
运行结果是“钱不够”,因为5 < 8。
例子3:考试成绩是否及格?
# 考试分数
score = 85 # 分数
if score >= 60:
print("恭喜,你及格了!")
else:
print("别灰心,下次努力!")
如果 score 改为45,就会打印“别灰心”。注意:条件中的 >= 表示“大于等于”,这里60分算及格。
新手常犯的几个错误
错误1:忘了冒号
if score >= 60 # 错误!缺少冒号
print("及格")
Python会报语法错误(SyntaxError)。记住:if 和 else 后面都要加英文冒号 :。
错误2:缩进不对
if score >= 60:
print("及格") # 错误!没有缩进
else:
print("不及格")
Python靠缩进来区分代码块,没有缩进会导致 print("及格") 不被当成条件成立时的代码,程序会报错或行为异常。
错误3:else 单独使用
else:
print("不对") # 错误!else不能单独出现
else 必须跟在 if 后面,不能单独写一段。可以理解为“否则”是对前面“如果”的补充。
错误4:条件写反了
age = 10
if age > 18: # 条件写反,10>18为假
print("成年了")
else:
print("未成年")
虽然程序能运行,但结果可能不是你想要的。写条件时一定要想清楚什么时候为真。
完整可运行示例:抽奖小游戏
下面是一个完整的程序,让用户输入自己的幸运数字,程序判断是否中奖:
# 抽奖小游戏:输入你的幸运数字
lucky_num = input("请输入你的幸运数字(1-10):") # input返回字符串
lucky_num = int(lucky_num) # 转换为整数
winning_num = 7 # 中奖数字
if lucky_num == winning_num:
print("恭喜你,中奖了!奖励100元零花钱!")
else:
print("很遗憾,没有中奖。下次再试试吧!")
运行示例:
请输入你的幸运数字(1-10):7
恭喜你,中奖了!奖励100元零花钱!
或者:
请输入你的幸运数字(1-10):3
很遗憾,没有中奖。下次再试试吧!
注意:input() 输入的是字符串,需要转换成整数才能和数字比较。另外,== 是判断相等,= 是赋值,千万别写错。
如果条件不止两个?别急,还有更多选择
if-else 只处理“二选一”。如果遇到多选题(比如成绩等级:优秀、良好、及格、不及格),就需要用到 if-elif-else 语句。另外,if 里面还可以再嵌套 if,处理更复杂的逻辑。这些内容会在后面的章节学到。
总结
if-else让程序在两种情况下做出不同反应,就像生活中的“如果…否则…”。- 格式:
if 条件:+ 缩进代码 +else:+ 缩进代码。 - 注意冒号、缩进和等号的使用。
- 每次运行只会执行其中一个分支。
学会 if-else,你的程序就有了“判断力”,不再是一条路走到黑啦!
相关指引:想了解如何判断多个条件,可以学习 if-elif-else 语句;想理解更复杂的判断逻辑,可以看看嵌套 if。
例题精讲
在Python中,以下哪个if-else语句的写法是正确的?(假设x已定义)
在Python的if-else语句中,如果条件成立,则执行if后面的代码块;如果不成立,则执行else后面的代码块。
以下程序的功能是:输入一个整数,如果它大于0,输出"正数",否则输出"非正数"。请补全代码。
n = int(input())
if n > 0:
print("正数")
___
print("非正数")执行以下Python代码,输出结果是? x = -5 if x > 0: print("正数") else: print("非正数")
以下程序根据用户输入的年龄判断是否成年。如果年龄大于等于18,输出"成年",否则输出"未成年"。请补全条件。
age = int(input())
if age ___ 18:
print("成年")
else:
print("未成年")