Python 编程基石:从顺序执行到条件判断的实战演练

📅 2026/7/15 3:07:06
Python 编程基石:从顺序执行到条件判断的实战演练
1. Python程序执行的基本逻辑当你第一次接触Python编程时最需要理解的就是代码的执行顺序。想象你正在阅读一本烹饪书菜谱的步骤是从上到下依次执行的 - Python代码也是这样运行的。这种最基本的执行方式我们称之为顺序结构。让我们通过一个简单的工资涨幅计算器来理解这个概念。假设我们要计算员工调整后的工资base_salary 5000 # 基本工资 bonus 1000 # 奖金 tax 0.1 # 税率 # 计算实际到手工资 gross_salary base_salary bonus net_salary gross_salary * (1 - tax) print(f实际到手工资是{net_salary}元)这段代码完美展示了顺序执行的特性先定义基本工资然后定义奖金接着定义税率计算总收入最后计算税后收入输出结果关键点Python会严格按照你写的顺序一行一行地执行代码不会跳过任何步骤也不会改变执行顺序。这种特性让程序的行为变得可预测。2. 条件判断让程序学会做选择现实世界充满选择程序也需要做决策。这就是选择结构的用武之地。Python中使用if、elif和else来实现条件判断。2.1 基础if语句让我们改进之前的工资计算器加入绩效评估逻辑performance 优秀 # 尝试改为良好或一般 if performance 优秀: bonus 2000 elif performance 良好: bonus 1000 else: bonus 500 print(f根据您的绩效{performance}奖金是{bonus}元)这个例子展示了if检查第一个条件elif检查其他可能条件可以有多个else处理所有其他情况常见误区很多初学者会忘记冒号(:)或者错误地缩进代码块。记住Python是靠缩进来区分代码块的2.2 复杂条件判断实际业务中条件往往更复杂。比如考虑工作年限和绩效双重因素years_of_service 6 performance 良好 if years_of_service 5 and performance 优秀: salary_increase 0.15 elif years_of_service 5 or performance 优秀: salary_increase 0.1 else: salary_increase 0.05 print(f您的工资涨幅是{salary_increase*100}%)这里使用了逻辑运算符and表示两个条件都要满足or表示满足任意一个条件即可3. 三元操作符简洁的条件表达式当条件判断很简单时Python提供了更简洁的写法 - 三元操作符。语法是值1 if 条件 else 值2比如比较两个游戏玩家的得分player1_score 85 player2_score 92 winner 玩家1 if player1_score player2_score else 玩家2 print(f胜利者是{winner})这种写法特别适合简单的赋值操作可以让代码更紧凑。但要注意过度使用会让代码难以阅读特别是条件复杂时。4. 实战演练构建工资涨幅计算器现在让我们综合运用这些知识构建一个完整的工资涨幅计算器def calculate_salary_increase(): # 获取用户输入 years int(input(请输入您的工作年限)) performance input(请输入您的绩效评级(优秀/良好/一般)) current_salary float(input(请输入您当前的月薪)) # 确定涨幅比例 if years 1: increase 0.0 elif years 3: if performance 优秀: increase 0.1 elif performance 良好: increase 0.05 else: increase 0.02 elif years 5: increase 0.08 if performance 优秀 else 0.05 else: if performance 优秀: increase 0.15 elif performance 良好: increase 0.1 else: increase 0.08 # 计算新工资 new_salary current_salary * (1 increase) # 输出结果 print(\n 工资调整结果 ) print(f当前工资{current_salary:.2f}元) print(f工作年限{years}年) print(f绩效评级{performance}) print(f涨幅比例{increase*100:.1f}%) print(f调整后工资{new_salary:.2f}元) # 运行计算器 calculate_salary_increase()这个例子展示了如何获取用户输入多层级条件判断嵌套的if语句三元操作符的实用案例格式化输出结果调试技巧当条件判断复杂时建议先画出流程图或者用纸笔列出所有可能的情况确保没有遗漏任何边界条件。5. 进阶应用游戏得分比较系统让我们再开发一个游戏得分比较系统展示更灵活的条件判断def game_score_analyzer(): print( 游戏得分分析系统 ) scores [] # 输入多个玩家得分 while True: try: score input(请输入玩家得分(输入q结束)) if score.lower() q: break scores.append(float(score)) except ValueError: print(请输入有效的数字) if not scores: print(没有输入任何得分) return # 分析得分 max_score max(scores) min_score min(scores) avg_score sum(scores) / len(scores) print(\n 分析结果 ) print(f参赛玩家数{len(scores)}) print(f最高分{max_score}) print(f最低分{min_score}) print(f平均分{avg_score:.2f}) # 评价系统 if max_score 100: print(有玩家达到满分) elif max_score 80: print(表现不错) elif max_score 60: print(还有提升空间) else: print(需要多加练习) # 找出所有最高分玩家 winners [i1 for i, score in enumerate(scores) if score max_score] if len(winners) 1: print(f并列冠军是玩家{, .join(map(str, winners))}) else: print(f冠军是玩家{winners[0]}) # 运行分析系统 game_score_analyzer()这个案例展示了如何处理用户输入和异常使用列表存储多个值内置函数max/min/sum的使用列表推导式的应用更复杂的条件判断逻辑6. 避坑指南条件判断常见错误在实际编程中有几个常见的坑需要注意比较运算符误用把写成是经典错误# 错误写法 if performance 优秀: # 这会报错 # 正确写法 if performance 优秀:缩进错误Python对缩进极其严格# 错误缩进 if years 5: print(资深员工) # 这会报错 # 正确缩进 if years 5: print(资深员工)浮点数比较由于精度问题避免直接比较浮点数# 不可靠的比较 if 0.1 0.2 0.3: # 这可能是False # 更好的方式 if abs((0.1 0.2) - 0.3) 1e-9:遗漏边界条件确保覆盖所有可能情况# 不完整的判断 if score 90: grade A elif score 80: # 如果score正好是90怎么办 grade B # 更安全的写法 if score 90: grade A elif score 80: grade B掌握这些基础控制结构后你已经可以编写很多实用的Python程序了。记住编程就像搭积木 - 复杂的程序都是由这些简单的结构组合而成的。