跳到主要内容

条件判断:人生处处是选择

最简单的 if

生活中每天都在做选择:下雨了带伞,没下雨就不带。程序也一样——根据条件决定做什么

加载代码编辑器中……

第一眼看上去,区别不大。但仔细看:

PythonJavaScript
条件if score >= 60:if (score >= 60) {
括号不需要括号必须有小括号 ()
代码块缩进(冒号 : 开头)大括号 {}

Python 的哲学:缩进即结构。代码好不好看,一眼就知道。

JS 的哲学:大括号管一切。缩进只是为了好看,不缩进也能运行(但会被同事打)。

if-else

加载代码编辑器中……

if-elif-else:多重选择

当选项不止两个的时候:

加载代码编辑器中……
PythonJavaScript
否则如果elifelse if(两个单词)

Python 把 else if 缩写成了 elif——少打 3 个字符,Python 程序员表示很满意 😏

三元表达式:一行搞定

有时候 if-else 只有简单的一行赋值,可以用三元表达式简化:

加载代码编辑器中……
PythonJavaScript
语法值A if 条件 else 值B条件 ? 值A : 值B
风格像英语像数学符号

Python 的三元表达式把条件放在中间,读起来像一句话:"成年,如果够 18 岁,否则未成年"。JS 的 ? : 更紧凑,但初学者容易觉得"这是啥符号?"

JS 特有:switch

Python 没有 switch(Python 3.10 新增了 match,但不太一样)。JS 的 switch 适合处理多个固定值的判断:

加载代码编辑器中……
🏋️AI 练习

写一个"BMI 计算器":

  1. 给定身高(米)和体重(千克)
  2. 计算 BMI = 体重 / 身高²
  3. 根据 BMI 判断:< 18.5 偏瘦,18.5-24 正常,24-28 偏胖,>= 28 肥胖

用 Python 和 JS 各写一版。提示:Python 用 **,JS 用 **Math.pow()

小结

概念PythonJavaScript
条件语法if x: 缩进if (x) {} 大括号
否则如果elifelse if
三元表达式a if cond else bcond ? a : b
switch❌ 没有(有 match)switch/case/break
代码块缩进大括号 {}

一句话:Python 靠缩进过日子,JS 靠大括号安家。 哪种更好?各有各的好——Python 强制你写整齐代码,JS 给你更多自由(也给你更多犯错的机会)。