Python while循环与双重循环实战:从基础到嵌套应用

小满
小满
发布时间:2026-10-12 | 5人浏览过
原创

本文深入解析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基础语法与循环结构优化的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表