【Python基础入门】第二课:运算符、流程控制(分支循环)与调试技巧

发布时间:2026/7/8 0:43:24

【Python基础入门】第二课:运算符、流程控制(分支循环)与调试技巧 大家好欢迎来到Python基础入门第二课在第一课中我们学习了注释、变量、数据类型以及输入输出。今天我们将深入Python的运算符和流程控制这是编写复杂程序的基石。学完这一课你就能写出真正有逻辑的程序比如猜数字、打印九九乘法表甚至自己调试代码一、运算符程序的“连接符”运算符用于连接变量或值形成表达式。Python中的运算符分为几大类我们先从最基础的开始。1.1 算术运算符数学计算的基础算术运算符用来执行基本的数学运算包括加、-减、*乘、/除、//整除、%取余、**幂运算。pythona, b 10, 3 print(a b) # 13 print(a - b) # 7 print(a * b) # 30 print(a / b) # 3.3333333333333335 print(a // b) # 3整除只保留整数部分 print(a % b) # 1取余数 print(a ** b) # 100010的3次方注意/的结果永远是浮点数即使能整除如6/3结果是2.0。1.2 赋值运算符给变量“喂值”最基本的赋值运算符是而复合赋值运算符如、-等能简化代码。pythona, b 10, 3 a b # 等价于 a a b此时 a 13, b 3 print(a) # 13 a - 2 # a a - 2 → 11 print(a) # 注意复合赋值左边必须是变量不能是常量 # 3 a ❌ 错误复合赋值运算符还包括*、/、%、**、//用法完全一致。1.3 关系运算符比较大小结果只有True/False关系运算符用于比较两个值结果是一个布尔值True或False。常见的有、、、、等于、!不等于。pythonprint(5 3) # True print(5 5) # True print(5 ! 5) # False细节判断相等一定要用单个是赋值千万别搞混1.4 逻辑运算符连接多个条件逻辑运算符用来组合多个条件常用于复杂的判断。and逻辑与所有条件为真才为真or逻辑或任一条件为真即为真not逻辑非取反pythona, b, c 5, 2, 1 print(a b and a c) # True and True → True print(True and False) # False print(True or False) # True print(not True) # False print(not not True) # True偶数次取反恢复原值1.5 小技巧交换两个变量的值Python提供了多种交换变量的方法最优雅的是拆包。pythona, b 10, 20 print(f交换前 a{a}, b{b}) # 方法1临时变量通用 # tmp a # a b # b tmp # 方法2算术运算只适用于数值 # a a b # b a - b # a a - b # 方法3拆包Python专属最简洁 a, b b, a print(f交换后 a{a}, b{b})二、流程控制让程序有“思想”默认情况下代码按顺序结构从上往下执行。但实际开发中我们需要根据条件决定执行哪段代码或者重复执行某段代码这就用到了分支结构和循环结构。2.1 if语句条件判断2.1.1 单分支如果……就……pythonage 19 if age 18: print(成年了可以上网) print(这是if内部的代码) print(if外部的代码总是执行)2.1.2 双分支如果……否则……pythonage int(input(请输入年龄)) if age 18: print(可以上网) else: print(好好学习)2.1.3 多分支多个条件层层筛选pythonmonth int(input(请输入月份1-12)) if 3 month 5: print(春季) elif 6 month 8: print(夏季) elif 9 month 11: print(秋季) elif month in (12, 1, 2): print(冬季) else: print(输入无效)注意多分支只会执行第一个满足条件的代码块后面的不会再判断。2.1.4 if嵌套条件里还有条件python# 判断酒驾酒精含量20不构成酒驾20~79酒驾80醉驾 num 20 if num 20: print(不构成酒驾) else: if num 80: print(醉驾奖励银手镯一副) else: print(酒驾小黑屋15天)扩展可以用多分支简化嵌套更清晰。2.1.5 三元表达式一行搞定简单的if-elsepythona, b, c 10, 30, 20 # 找三个数的最大值三元嵌套 max (a if a c else c) if a b else (b if b c else c) print(f最大值{max})2.2 while循环重复执行直到条件不成立当循环次数不确定时用while最合适。python# 打印1~5 i 1 while i 5: print(f第{i}次循环) i 1实战1~100求和pythonsum 0 i 1 while i 100: sum i i 1 print(f1~100的和为{sum}) # 5050实战1~100偶数和两种思路python# 方法1if判断 sum 0 i 1 while i 100: if i % 2 0: sum i i 1 print(f偶数和{sum}) # 2550 # 方法2步长改为2 sum 0 i 2 while i 100: sum i i 2 print(f偶数和{sum}) # 25502.3 死循环与break永不终止的循环要小心如果循环条件永远为真就会形成死循环。通常我们会在死循环中配合break跳出。pythonwhile True: print(这是一个死循环按CtrlC可以终止) # 实际使用时一般会在某个条件满足时break break # 这里直接break避免无限输出经典案例猜数字游戏pythonimport random guess_num random.randint(1, 100) # 生成1~100随机数 while True: input_num int(input(请输入你要猜的数字)) if input_num guess_num: print(恭喜你猜对了) break elif input_num guess_num: print(猜大了) else: print(猜小了)2.4 for循环遍历序列的好帮手当循环次数固定时for比while更简洁。python# 遍历字符串 for i in itheima: print(i) # 遍历列表 for i in [1, 2, 3, 4, 5]: print(i)range()函数生成数字序列range(start, end, step)可以生成一个可迭代的数字范围包左不包右。python# 常用写法 for i in range(5): # 0,1,2,3,4 print(i) for i in range(1, 5): # 1,2,3,4 print(i) for i in range(1, 10, 2): # 1,3,5,7,9 print(i)实战用for求1~100奇数和pythonsum 0 for i in range(1, 101, 2): sum i print(f奇数和{sum}) # 25002.5 break和continue控制循环的“刹车”和“跳过”break立即终止整个循环continue结束本次循环直接进入下一次来看一道经典的面试题在下面代码中如果希望在 i 能被3整除时分别输出2次、7次、13次 hello world!应如何填写pythoni 1 while i 10: if i % 3 0: # 在这里填写代码 pass print(hello world!) i 1答案输出2次break当 i3 时终止循环只打印了前两次输出7次continue当 i3,6,9 时跳过打印但注意要提前增加 i否则死循环输出13次需要结合其他条件这里不展开。注意continue前要记得更新循环变量否则容易死循环。2.6 循环与else正常结束才执行的“彩蛋”无论是while还是for都可以搭配else只有当循环没有被 break 中断时else 才会执行。pythonfor i in range(3): if i 1: break # 触发breakelse不会执行 print(i) else: print(循环正常结束) # 如果去掉breakelse就会执行实战打印1~100之间的质数每行5个pythoncount 0 for num in range(2, 101): for i in range(2, num): if num % i 0: break else: # 没有被break说明是质数 print(num, end\t) count 1 if count % 5 0: print() # 每5个换行2.7 循环嵌套循环里面套循环循环嵌套最常见的是forfor用来处理二维结构比如打印图形。打印5行5列矩形pythonfor i in range(5): # 外循环控制行 for j in range(5): # 内循环控制列 print(*, end) print() # 每行结束后换行打印正三角形pythonfor i in range(1, 6): for j in range(1, i 1): print(*, end) print()打印倒三角形pythonfor i in range(1, 6): for j in range(i, 6): print(*, end) print()终极实战打印九九乘法表pythonfor i in range(1, 10): for j in range(1, i 1): print(f{j}×{i}{i*j}, end\t) print()输出效果text1×11 1×22 2×24 1×33 2×36 3×39 1×44 2×48 3×412 4×416 ...三、Debug调试程序员的“神级技能”写代码难免出错学会调试能让你快速定位问题。PyCharm提供了强大的调试功能。3.1 Debug操作步骤加断点在代码行号旁边单击出现红点表示断点一般加在可能出错的第一行有效代码处。启动调试右键 → Debug或点击右上角小虫子图标。查看信息左下角查看当前执行到哪一行栈帧下方中间查看变量变化下方右边控制台输出控制执行F7逐过程进入函数内部F8逐行不进入函数F9跳转到下一个断点结束调试程序执行完自动结束或手动点击停止。3.2 实例演示调试1~5累加和pythonsum 0 i 1 while i 5: sum i i 1 print(f1~5累加和{sum})在sum i处加断点用F8逐步执行观察i和sum的变化你会对循环理解得更深刻。四、总结与作业今天的内容非常充实我们学习了运算符算术、赋值、关系、逻辑分支结构if单分支、双分支、多分支、嵌套、三元表达式循环结构while、for、break/continue、循环嵌套调试技巧Debug入门这些是编程的“骨架”掌握了它们你已经可以写出各种逻辑的程序了。课后作业编写一个程序让用户输入一个正整数n输出n行杨辉三角选做挑战自己。用for循环打印出100~999之间的所有水仙花数如1531³5³3³。用while循环模拟银行ATM取款初始密码123456余额10000允许输入错误3次3次后锁定。输入正确后可以取款金额不能超过余额。欢迎在评论区分享你的代码或疑问 预告下一节课我们将学习Python中的容器类型列表、元组、字典、集合它们能帮我们处理更复杂的数据敬请期待

相关新闻