You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用嵌套循环重构带分隔线的指定格式乘法表?

Python乘法表实现:左列、分隔线及格式化代码解析

一、格式化代码print('{:>5}'.format(i * j),end='')的作用

这行是Python的字符串格式化操作,拆解细节:

  • {:>5}:格式化占位符,>表示右对齐,5指定总宽度为5个字符。比如乘积是3会变成 3(前补4个空格),乘积是24会变成 24(前补3个空格),确保所有数字排版整齐,不会因位数差异打乱对齐。
  • .format(i * j):把i*j的计算结果代入占位符,生成格式化后的字符串。
  • end='':默认print()会在末尾加换行符,用这个参数改成空字符串,让同一行的所有乘积连续输出,不会自动换行。

二、添加左列与分隔线的实现方案

基于你已有的循环逻辑,只需补充左列输出、分隔线和行间空行即可,具体步骤如下:

1. 输出顶部固定表头与分隔线

先直接打印顶部两行常量,和后续行的格式对齐:

print('      |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |')
print('------+-----+-----+-----+-----+-----+-----+-----+-----+-----+')

2. 循环实现带左列的乘法表

外层循环遍历行号,每行开头先输出左列行号+分隔线,再用内层循环输出对应列的乘积+分隔线,最后添加行间空行:

for i in range(1, 10):
    # 输出左列行号:右对齐占5位,后跟|分隔
    print(f'{i:>5} |', end='')
    # 内层循环遍历列,输出乘积与分隔线
    for j in range(1, 10):
        print(f'{i*j:>5} |', end='')
    # 换行结束当前行的数字内容
    print()
    # 输出行间空行(最后一行后不输出)
    if i != 9:
        print('      |     |     |     |     |     |     |     |     |     |')

完整可运行代码

把两部分整合,就是符合需求的完整实现:

# 输出顶部表头与分隔线
print('      |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8  |  9  |')
print('------+-----+-----+-----+-----+-----+-----+-----+-----+-----+')

# 外层循环遍历行
for i in range(1, 10):
    # 输出左列行号与分隔线
    print(f'{i:>5} |', end='')
    # 内层循环遍历列,输出乘积与分隔线
    for j in range(1, 10):
        print(f'{i*j:>5} |', end='')
    # 换行
    print()
    # 输出行间空行(最后一行除外)
    if i != 9:
        print('      |     |     |     |     |     |     |     |     |     |')

内容的提问来源于stack exchange,提问作者Kenny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 02:33:23