上一节我们学习了for循环它特别适合用来遍历序列或者已知循环次数的场景。但在编程中还有很多时候我们不知道具体要循环多少次只知道当某个条件满足时就一直循环这时候就需要用到while循环了。1、什么是while循环while循环是Python中最基础的循环结构之一它的核心逻辑很简单只要条件为真就反复执行代码块。和for循环的区别for循环“把这些元素挨个过一遍” → 知道循环次数while循环“只要条件还成立就一直做” → 不知道具体循环次数while循环的基本语法while条件表达式:# 条件成立时重复执行的代码块# 注意缩进执行流程先判断条件表达式是True还是False如果是True就执行里面的代码块执行完代码块后回去再判断一次条件如果还是True继续执行…直到条件变成False循环结束最简单的例子打印1到5count1whilecount5:print(count)countcount1# 一定要让条件有变成False的时候# 输出# 1# 2# 3# 4# 52、while循环的常见用法1让程序一直运行直到用户输入退出这是while循环最经典的使用场景——做交互式程序。print(欢迎使用计算器输入q退出)whileTrue:# True永远是真这是一个无限循环user_inputinput(请输入数字)ifuser_inputq:print(程序退出)break# 用break跳出循环numint(user_input)print(f{num}的平方是{num*num})运行效果欢迎使用计算器输入q退出 请输入数字5 5的平方是25 请输入数字10 10的平方是100 请输入数字q 程序退出2计算累加和计算123…100的和sum_result0i1whilei100:sum_resultsum_resulti ii1print(f1到100的和是{sum_result})# 输出1到100的和是50503、break在while循环中的用法和for循环一样while循环里也可以用break和continue来控制循环流程。break立刻结束整个循环i0whilei10:ii1ifi5:break# 当i等于5时直接结束整个循环print(i)# 输出# 1# 2# 3# 4# 5之后的数字都不会打印了4、while…else 结构和for循环一样while循环也可以带else块。else里的代码只有当循环正常结束没有被break打断时才会执行。i1whilei3:print(i)ii1else:print(循环正常结束了)# 输出# 1# 2# 3# 循环正常结束了如果循环被break打断了else就不会执行i1whilei3:print(i)ifi2:breakii1else:print(循环正常结束了)# ❌ 这行不会执行# 输出# 1# 2这个特性有什么用呢最常见的用法就是找了一圈没找到的判断# 找第一个大于10且能被7整除的数n11whilen20:ifn%70:print(f找到了{n})breaknn1else:print(11到20之间没有能被7整除的数)5、while循环嵌套while循环也可以嵌套使用最经典的例子就是打印九九乘法表i1whilei9:j1whileji:print(f{j}×{i}{i*j}\t,end)jj1print()# 换行ii1输出就是标准的九九乘法表1×11 1×22 2×24 1×33 2×36 3×39 ...一个简单的判断标准如果你能在循环开始前就算出这个循环要执行多少次就用for否则就用while。