Python使用for循环制作乘法表时输出格式错位问题求解
解决方案
你代码的核心问题是打印纵向乘数时直接换行,导致后续乘积和乘数错位,按下面的代码调整即可:
# 打印顶部横向乘数表头 print("\t", end="") for i in range(1, 11): print(i, end="\t") print("\n" + "-" * 80) # 打印乘法表主体 for a in range(1, 11): # 纵向乘数打印后不换行,补制表符对齐 print(a, end="\t") for t in range(1, 11): print(a * t, end="\t") # 单行乘积打印完成后换行 print()
调整说明:
- 表头前增加空制表位,对应左侧纵向乘数的列宽,保证横向表头和下方乘积列对齐
- 纵向乘数打印时添加
end="\t",打印完成后不换行,直接拼接后续乘积内容,解决错位问题 - 内层循环打印完当前行所有乘积后单独触发换行,避免所有行内容挤在同一行
- 移除了多余的缩进制表符,避免出现双倍缩进导致的列错位
运行上述代码即可输出你需要的乘法表格式。
内容的提问来源于stack exchange,提问作者Aryziz
相关产品推荐
相关产品推荐

