智泊Python–Day3 Day3 进入程序控制流 的第一种:条件分支。Python 用 if / elif / else 表达「如果…否则…」,用 match-case(3.10+)表达「按值匹配」。和很多语言不同,Python 用缩进来界定代码块 而非花括号——这是新手最容易踩的坑,也是 Python 代码统一美观的原因。
1.if 分支结构 要点有四:
① Python 强制缩进 (通常 4 个空格),缩进深度决定语句属于哪个分支
② 单分支 if、双分支 if/else、多分支 if/elif/else 依次递进
③ if 可以嵌套 (外层条件满足才进入内层判断)
④ if 后的表达式会做隐式布尔判断 ,非零数字、非空容器都视为 True
最后那个「取最大值」示例还引出了 Python 独有的三元表达式 a if 条件 else b,一行就能替代整段 if/else。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 if True : print ('hello world' ) age = int (input ("请输入年龄: " ))if age >= 18 : print ("成年人,可以去网吧了" )print ("=" *30 ) age = int (input ("请输入年龄: " ))if age <= 18 : print ("未成年人,不能去网吧" )elif age <= 30 : print ("年轻人,也可以去网吧" )elif age <= 60 : print ("中年人,勉强能去网吧" )else : print ("老年人,不能去网吧" )print ("=" *30 ) age = int (input ("请输入年龄: " ))if age < 30 : print ("年龄符合要求" ) height = float (input ("请输入身高(cm): " )) if height > 175 : print ("身高符合要求" ) salary = float (input ("请输入年薪(w): " )) if salary > 20 : print ("年薪符合要求" ) else : print ("年薪不符合要求" ) else : print ("身高不符合要求" )else : print ("年龄不符合要求" )print ("=" *30 )if 10 : print ("10是True" )print ("=" *30 ) a, b = 20 , 30 if a > b: print (a)else : print (b) c = a if a > b else bprint (c)
2.match-case 分支结构 match-case 是 Python 3.10 起 才支持的结构化模式匹配,适合「一个值与多个模式逐一比对」的场景(类似其他语言的 switch)。case "A": 匹配具体值,case _: 是通配兜底 (类似 else),匹配不到任何具体分支时执行。对成绩等级这类「离散值映射」非常直观。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 score = str (input ("请输入成绩: " )) match score: case "A" : print ("大于90分" ) case "B" : print ("80~90分" ) case "C" : print ("70~80分" ) case "D" : print ("60~70分" ) case "E" : print ("小于60分" ) case _: print ("输入内容有误" )