CC++ & Algorithm

Python if-else 语句

中等5
语言版本:C++Python
概述:用if-else让程序在条件成立和不成立时分别执行不同代码,类似“二选一”。

二选一:Python if-else 语句让程序学会判断

生活中我们经常需要做“二选一”的决定。比如放学后:“如果作业写完了,就看动画片;否则就写作业。” 在Python里, if-else 语句就是专门做这种“条件成立做一件事,条件不成立做另一件事”的指令。它就像一条岔路口,程序会根据条件的真假选择不同的路径执行。

什么是 if-else 语句?

if-else 的格式非常清晰:

if 条件:
    条件成立时要做的事情
else:
    条件不成立时要做的事情

关键点:

  • if 后面跟着一个条件,条件末尾要加冒号 :
  • 条件成立时执行的代码要缩进(一般按4个空格或一个Tab)。
  • else 后面也要加冒号,它自己的代码块同样要缩进。
  • ifelse 是一对搭档,只会执行其中一个分支,不会两个都执行。

生活中的“二选一”例子

例子1:明天要不要带伞?

# 判断明天是否下雨
is_rainy = True  # 假设天气预报说下雨

if is_rainy:
    print("带上雨伞,别淋湿了!")
else:
    print("天气好,不用带伞。")

如果 is_rainyTrue,程序打印“带上雨伞”;如果是 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)。记住:ifelse 后面都要加英文冒号 :

错误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

例题精讲

1单选题

在Python中,以下哪个if-else语句的写法是正确的?(假设x已定义)

Aif x>0:\nprint("正数")\nelse:\nprint("负数")
Bif x>0:\n print("正数")\nelse:\nprint("负数")
Cif x>0:\n print("正数")\nelse:\n print("负数")
Dif x>0:\n print("正数")\nelse;\n print("负数")
2判断题

在Python的if-else语句中,如果条件成立,则执行if后面的代码块;如果不成立,则执行else后面的代码块。

3填空题
以下程序的功能是:输入一个整数,如果它大于0,输出"正数",否则输出"非正数"。请补全代码。

n = int(input())
if n > 0:
    print("正数")
___
    print("非正数")
4单选题

执行以下Python代码,输出结果是? x = -5 if x > 0: print("正数") else: print("非正数")

A正数
B非正数
C无输出
D程序报错
5填空题
以下程序根据用户输入的年龄判断是否成年。如果年龄大于等于18,输出"成年",否则输出"未成年"。请补全条件。

age = int(input())
if age ___ 18:
    print("成年")
else:
    print("未成年")