Python实现九九乘法表的9种循环排列方式

栗子
栗子
发布时间:2026-10-11 | 2人浏览过
原创

本文详细解析Python中利用for循环实现九九乘法表的9种不同排列方式。通过调整内外层循环的range步长与边界,结合字符串格式化方法,实现正序、倒序、三角形及矩形等多种布局。文章提供完整代码示例与逻辑说明,帮助开发者深入理解循环嵌套与格式化输出的实际应用。

核心逻辑:双重循环与格式化

在Python中,生成九九乘法表的核心在于利用双重 for 循环。外层循环控制行数(通常对应第一个乘数),内层循环控制列数(对应第二个乘数)。通过 range() 函数设定起始值、结束值及步长,可以灵活控制循环的执行顺序与范围。

此外,输出格式的控制至关重要。Python提供了多种字符串格式化方式,如 .format() 方法和 % 占位符。通过指定对齐方式(如左对齐 <4)和宽度,可以确保乘法表在终端输出时保持整齐的对齐效果。

9种排列方式详解

根据循环方向(正序或倒序)以及输出形状(三角形或矩形),我们可以实现多种排列组合。以下是具体的代码实现与逻辑分析:

第1种:正序三角形(标准格式)

这是最常见的九九乘法表形式。外层循环从1到9,内层循环从1到当前行数 i。使用 .format() 进行左对齐输出。

# 第1种:正序三角形
for i in range(1, 10):
    for j in range(1, i + 1):
        print("{}*{} = {:<4}".format(i, j, i * j), end=" ")
    print("")
print('第1种' + "-" * 96)

第2种:倒序三角形(标准格式)

外层循环从9递减到1,内层循环从1到当前行数。这种排列实现了倒三角形状的乘法表。

# 第2种:倒序三角形
for i in range(9, 0, -1):
    for j in range(1, i + 1):
        print("{}*{} = {:<4}".format(i, j, i * j), end=" ")
    print("")
print('第2种' + "-" * 96)

第3种:正序倒三角(右对齐三角形)

此形式在正序排列的基础上,通过内层嵌套的空格循环 range(1, i) 实现右对齐效果,形成倒三角形布局。

# 第3种:正序倒三角(右对齐)
for i in range(1, 10):
    for k in range(1, i):
        print(end="      ")
    for j in range(i, 10):
        print("{}*{} = {:<4}".format(i, j, i * j), end=" ")
    print("")
print('第3种' + "-" * 96)

第4种:倒序倒三角(右对齐三角形)

外层循环倒序,内层通过空格循环实现右对齐,形成另一种倒三角布局。

# 第4种:倒序倒三角(右对齐)
for i in range(9, 0, -1):
    for k in range(1, i):
        print(end="      ")
    for j in range(i, 10):
        print("{}*{} = {:<4}".format(i, j, i * j), end=" ")
    print("")
print('第4种' + "-" * 96)

第5种:正序矩形(百分号格式化)

使用 % 格式化操作符,外层循环1到9,内层循环1到9,输出完整的9x9矩形表格。

# 第5种:正序矩形
for i in range(1, 10):
    for j in range(1, 10):
        print("%d*%d=%2d" % (i, j, i * j), end="  ")
    print("")
print('第5种' + "-" * 96)

第6种:正序倒三角(百分号格式化)

内层循环从 i 到9,形成正序排列的倒三角形。

# 第6种:正序倒三角(百分号)
for i in range(1, 10):
    for j in range(i, 10):
        print("%d*%d=%2d" % (i, j, i * j), end="  ")
    print("")
print('第6种' + "-" * 96)

第7种:倒序矩形(百分号格式化)

外层循环倒序,内层循环1到9,输出倒序排列的完整矩形。

# 第7种:倒序矩形
for i in range(9, 0, -1):
    for j in range(1, i + 1):
        print("%d*%d=%2d" % (i, j, i * j), end="  ")
    print("")
print('第7种' + "-" * 96)

第8种:倒序倒三角(百分号格式化)

外层倒序,内层通过空格循环实现右对齐,形成倒序排列的倒三角形。

# 第8种:倒序倒三角(百分号)
for i in range(1, 10):
    for k in range(1, i):
        print(end="     ")
    for j in range(i, 10):
        print("%d*%d=%2d" % (i, j, i * j), end="  ")
    print("")
print('第8种' + "-" * 96)

第9种:特殊倒三角(百分号格式化)

此形式通过调整空格循环范围 range(1, 10-i) 和内层循环 range(i, 0, -1),实现特殊的倒三角布局。

# 第9种:特殊倒三角
for i in range(1, 10):
    for k in range(1, 10 - i):
        print(end="     ")
    for j in range(i, 0, -1):
        print("%d*%d=%2d" % (i, j, i * j), end="  ")
    print("")
print('第9种' + "-" * 96)

总结

通过上述9种示例,我们可以看到Python for 循环的强大灵活性。掌握 range() 的参数调整以及字符串格式化技巧,可以轻松实现各种复杂的输出布局。以上就是Python用for循环实现九九乘法表的9种排列方式的详细内容,更多关于Python基础算法与格式化输出的资料请关注本站其它相关文章!

相关标签:

本站声明

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

Python 相关产品和应用

全部下载

专题列表