Python if 语句基础
简单8用 if 语句让程序学会做选择
你有没有做过这样的决定?如果今天下雨,就带伞出门。在编程里,我们也可以用同样的逻辑来让程序做选择。Python 中的 if 语句就是用来写这种“如果……就……”规则的。
只要告诉程序“如果某个条件成立了,就执行这些动作”,程序就能根据实际情况自动做出反应。就像你自己判断“如果作业写完了,就可以玩一会儿”一样简单。
if 语句长什么样?
写一个 if 语句要分三步:
- 写出
if关键字。 - 在
if后面写一个条件(比如:是不是下雨了)。 - 条件后面要加一个英文冒号
:,然后缩进(通常敲4个空格)写条件成立时要执行的代码。
下面的例子模仿了生活中的判断:如果作业做完了,就奖励自己玩一会儿。
homework_done = True # 作业做完了吗?(True表示做完)
if homework_done:
print("可以玩一会儿了!")
运行这个程序,因为条件 homework_done 是 True,所以会显示“可以玩了一会儿”。如果改成 False,就什么都不会输出。
? 小提示:
True和False在 Python 里叫布尔值,专门用来表示“成立”和“不成立”。if后面可以直接放一个布尔值,也可以放一个能算出布尔值的表达式(比如比较运算)。
用比较运算符写条件
条件通常是比较两个东西,比如判断数字大小、判断是否相等。常见符号:
>大于<小于>=大于等于<=小于等于==等于(注意是两个等号)!=不等于
举个例子:判断年龄是否满12岁。
age = 10 # 当前的年龄
if age >= 12:
print("可以参加这个活动")
因为 age >= 12 是 False(10 并不大于等于 12),所以程序不会打印任何信息。如果把 age 改成 14,条件就成真了,屏幕就会显示“可以参加这个活动”。
生活中的例子:判断今天的气温是否超过 30 度,提醒多喝水。
temperature = 35 # 今天的最高气温
if temperature > 30:
print("天气很热,多喝水") # 条件成立就执行这一行
输出:天气很热,多喝水
另一个例子:判断第二天是否是周末,决定要不要早起。
is_weekend = False # 明天是周末吗?
if is_weekend == False: # 也可以直接写 if not is_weekend:,但这里先学 ==
print("明天要上学,快起床!")
条件 is_weekend == False 是 True,所以会打印提醒。
注意缩进——为程序排版
缩进非常重要!if 下面要执行的代码必须向右缩进,否则 Python 会报错或者理解错你的意思。
# 正确的缩进
score = 90
if score >= 60:
print("恭喜你,及格了!") # 这一行前面有4个空格
print("继续加油哦!") # 同一级别的条件代码,缩进要一致
# 错误的缩进(会报错)
if score >= 60:
print("没有缩进,Python 会生气") # 这里没缩进,会报 IndentationError
规律:所有属于“条件成立时要做的事”都要往右缩进相同的格数。通常按一下 Tab 键或敲 4 个空格。
常见踩坑:新手容易犯哪些错
-
忘记冒号
if score >= 60 # 少了冒号,会报错正确:
if score >= 60: -
条件里用单等号
=(赋值)代替双等号==if score = 60: # 错误!=是赋值,不是比较正确:
if score == 60: -
缩进不一致
有时用空格,有时用Tab,或者同一段代码缩进量不同,会让 Python 搞混。建议全程只用4个空格。 -
条件写法太复杂
一开始尽量写简单的比较。比如if money >= 100:比if money + allowance > 150:更好理解。 -
忘记条件可以是布尔变量
如果已经有了一个布尔值(is_raining = True),可以直接写if is_raining:,不必写成if is_raining == True:,两种都可以,但第一种更简洁。
完整示例:一个判断成绩的小程序
下面这个完整的程序会询问用户考试成绩(整数),然后根据分数给出不同提示。
# 获取用户输入的成绩(字符串转整数)
score_input = input("请输入你的考试成绩(0-100):")
score = int(score_input) # 转换成整数
# 判断是否及格
if score >= 60:
print("恭喜!你及格了。")
print("继续努力,争取更好成绩!")
# 判断是否满分
if score == 100:
print("太棒了,你是满分!")
# 判断是否不及格
if score < 60:
print("这次不太理想,加油复习!")
运行效果示例:
请输入你的考试成绩(0-100):85
恭喜!你及格了。
继续努力,争取更好成绩!
如果输入 100,还会多显示一行“太棒了,你是满分!”。
更多可能
现在你已经学会了最基本的 if 判断。但程序常常不光只有“如果……就……”,还有“否则……”。比如:
- 如果今天下雨,就带伞;否则(没下雨)就不带伞。
- 如果考试及格,就说“通过”;否则就说“补考”。
这就要用到 if-else 结构。当你掌握了 if 之后,下一步就可以学习 if-else 和 elif(多个条件判断)。另外,你也可以试试把条件写得复杂一点,比如用 and(并且)、or(或者)连接多个条件。
相关指引:
- [if-else 语句:让程序二选一]
- [多条件判断:elif 和逻辑运算符]
- [布尔值 True 和 False 的更多玩法]
现在,自己动手试试上面的小练习吧:如果今天温度高于30度,就提醒“天气很热,多喝水”。祝你编程愉快!
例题精讲
在Python中,以下哪个是正确的if语句写法?
已知变量score = 85,下列哪个if语句能正确判断'成绩优秀'(score >= 80)并输出?
在Python中,if语句后面的条件表达式可以不加括号,例如:if x > 0: 是正确的。
执行以下代码: x = 5 if x > 10: print('大') else: print('小') 输出结果为'小'。
以下程序想要判断变量num是否为偶数,如果是则输出“偶数”。请补全代码。
num = 8
if ___ :
print('偶数')