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

Python嵌套循环实现乘法表:列标题及下划线格式问题排查

乘法表格式修正方案

我已经完成乘法表的大部分格式设置,但列顶部的标题标签及其下方的下划线仍未正确显示。我怀疑第一个for循环的代码存在问题,但无法定位具体错误。以下是我的代码:

def main():

    print("This is a times-table.")

    n = int(input("Enter a number: "))
        
    for i in range(1,n+1):
        print(" {:3d}".format(i), end='')
    print()

    for i in range(1, n+1):
        print(i, " |{:3d}".format(i), end='')
        for x in range(1, n+1):
            print("{:3d}".format(i*x), end="")

        print()

main()

期望输出格式说明:

  • 左上角为空白占位区域,对应左侧行号的位置
  • 顶部依次排列1到n的列标题数字,与下方乘积列对齐
  • 标题行下方有一条分隔线,左侧为竖线,右侧对应每列的横线
  • 每行开头为行号+竖线,后续为对应行的乘积数字,所有内容对齐

修正后的代码

def main():
    print("This is a times-table.")
    n = int(input("Enter a number: "))
    
    # 打印顶部列标题:左上角占位,对齐行号区域
    print("    ", end='')
    for i in range(1, n+1):
        print("{:3d}".format(i), end='')
    print()
    
    # 打印标题下方的分隔线
    print("    |", end='')
    for _ in range(1, n+1):
        print("---", end='')
    print()
    
    # 打印每行的乘法表内容
    for i in range(1, n+1):
        # 行号格式化为3位宽度,后跟竖线,对齐分隔线
        print("{:3d} |".format(i), end='')
        for x in range(1, n+1):
            print("{:3d}".format(i*x), end='')
        print()

main()

关键改动说明

  1. 顶部标题行修复:新增print(" ", end='')作为左上角占位,匹配下方行号的宽度,确保列标题与乘积列对齐。
  2. 添加分隔线:标题行后新增分隔线打印逻辑," |"对应行号区域的竖线,每个列用---填充,匹配数字的3位宽度。
  3. 行号格式修正:将每行开头的行号格式改为"{:3d} |",固定3位宽度,确保和分隔线、标题行的位置完全对齐。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 18:45:41