Python while循环与双重循环实战:从基础到嵌套应用
本文深入解析Python中while循环及双重(嵌套)循环的使用场景与实现方式。通过求和、阶乘计算、100以内素数筛选、格式化输出及九九乘法表等具体代码示例,展示如何控制循环变量、利用break/continue优化逻辑,以及如何处理嵌套循环中的变量重置与缩进关系,帮助读者掌握Python基础循环结构的核心技巧。
while循环基础与累加逻辑
在Python中,while语句属于“当型”循环结构,用于在指定条件为真时重复执行代码块。它适用于处理需要重复执行的相同任务,特别是当循环次数在运行前不确定时。
以下示例演示了如何计算1到20的整数序列,以及1到100的累加和。注意else子句在循环正常结束(非break退出)时执行:
# 基础示例:输出1到20 i = 1 while i <= 20: print(i, end=" ") i += 1 # 累加求和:计算1到100的和 sum = 0 i = 1 while i <= 100: sum += i i += 1 else: print("\n", sum) print("0+2+...+100=", sum)
交互式输入与阶乘计算
结合input()函数,可以实现动态的数值处理。以下代码演示如何从控制台获取用户输入的数字,并计算其阶乘。关键在于初始化结果变量result为1,并在循环中逐步累乘:
# 计算阶乘:从控制台录入一个数字,求从1到该数字的阶乘
result = 1
i = 1
numA = 0
numA = int(input("请输入一个数字:"))
while i <= numA:
result *= i
i += 1
else:
print("循环结束!")
print("结果是:", result)双重循环应用:素数判断与格式化输出
双重循环(嵌套循环)允许在一个循环体内嵌套另一个循环体。这在处理二维数据或需要多层条件判断的场景中非常有用。
100以内素数筛选
判断素数的逻辑是:对于每个数x,检查是否存在小于x-1的因子n。若找到因子则break,否则打印该数:
# 使用while循环输出100以内的素数
x = 2
while x < 100:
n = 2
while n < x - 1:
if x % n == 0:
break
n += 1
else:
print(x, end=" ")
x += 1
else:
print("循环结束")格式化输出:每行5个能被7整除的数
此示例展示了如何在循环中控制输出格式。通过lineCount变量记录已打印数量,达到5时换行并重置计数器:
# 输出100之内能被7整除的数,每行5个
nNum = 7
lineCount = 0
while nNum <= 100:
if nNum % 7 != 0:
nNum += 1
continue
else:
print(nNum, end=" ")
lineCount += 1
if lineCount == 5:
print() # 单个print()换行
lineCount = 0
nNum += 1
else:
print("\n循环结束")嵌套循环实战:图形打印与乘法表
嵌套循环常用于生成二维结构,如矩形、三角形或乘法表。以下示例展示了如何使用while和for循环实现不同形式的嵌套输出。
打印正方形与九九乘法表
在嵌套循环中,内层循环变量(如j)需要在每次外层循环迭代时重置,以确保每行正确起始:
# 使用while循环和for循环嵌套打印正方形 i = 1 j = 1 numA = int(input("请输入行数:")) numB = int(input("请输入列数:")) while i <= numA: j = 1 # 关键:重置内层循环变量 while j <= numB: print("*", end=" ") j += 1 print() i += 1 # 使用while循环嵌套打印九九乘法口诀表 i = 1 j = 1 while i <= 9: j = 1 # 重置内层循环变量 while j <= i: print("%d*%d=%2d" % (j, i, i * j), end=" ") j += 1 print() i += 1 else: print("\n程序运行结束")
For循环嵌套对比
Python同样支持for循环的嵌套,逻辑与while类似,但语法更简洁。注意内层if判断j <= i以控制乘法表的三角形状:
# 使用for循环打印九九乘法口诀表
for i in range(1, 10):
for j in range(1, 10):
if j <= i:
print("%d*%d=%2d" % (j, i, i * j), end=" ")
else:
print()
else:
print("\n程序运行结束")以上就是对Python while循环和双重循环的实例详解,更多关于Python基础语法与循环结构优化的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













