Python实现九九乘法表的9种循环排列方式
本文详细解析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基础算法与格式化输出的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













