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

Python打印二维列表乘法表如何避免行尾出现多余|分隔符

解决方案

问题原因

你的原有代码遍历每行元素时,固定为每个元素添加|作为结尾后缀,导致行末尾的最后一个元素后也会出现多余的分隔符,不符合输出要求。

实现方案

提供两种可直接运行的修改方案:

方案1:使用字符串join方法(推荐,写法最简洁)

str.join()方法会自动将分隔符插入到多个元素的中间,不会在首尾生成多余字符,是处理这类分隔拼接需求的最优选择。
修改后的完整代码如下:

user_input= input()
lines = user_input.split(',')

# 该行使用列表推导式(后续章节会介绍)将输入字符串转换为二维列表
# 示例:输入 1 2, 2 4 会被转换为 [ [1, 2], [2, 4] ]
mult_table = [[int(num) for num in line.split()] for line in lines]

for row in mult_table:
    # 将行内所有元素转为字符串后,用' | '拼接为整行再打印
    print(' | '.join(str(cell) for cell in row))

方案2:索引判断法(适合新手理解逻辑)

如果你希望保留原来的嵌套循环写法,可以通过索引判断当前元素是否为行的最后一个,仅在非末尾元素后加分隔符。
修改后的完整代码如下:

user_input= input()
lines = user_input.split(',')

# 该行使用列表推导式(后续章节会介绍)将输入字符串转换为二维列表
# 示例:输入 1 2, 2 4 会被转换为 [ [1, 2], [2, 4] ]
mult_table = [[int(num) for num in line.split()] for line in lines]

for row in mult_table:
    for index, cell in enumerate(row):
        if index == len(row) - 1:
            # 末尾元素直接打印,后续换行
            print(cell)
        else:
            # 非末尾元素用 | 作为结尾后缀
            print(cell, end=' | ')

两种方案都可以完美匹配你提供的测试用例预期输出,不会出现行尾多余的|字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:54:03