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()
关键改动说明
- 顶部标题行修复:新增
print(" ", end='')作为左上角占位,匹配下方行号的宽度,确保列标题与乘积列对齐。 - 添加分隔线:标题行后新增分隔线打印逻辑,
" |"对应行号区域的竖线,每个列用---填充,匹配数字的3位宽度。 - 行号格式修正:将每行开头的行号格式改为
"{:3d} |",固定3位宽度,确保和分隔线、标题行的位置完全对齐。
内容的提问来源于stack exchange,提问作者unreliablenarrator
相关产品推荐
相关产品推荐

