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

如何移除Python循环输出每行末尾的多余星号符号

问题:如何修改代码去除每行末尾多余的*符号

原始代码:

n = 3
for i in range(1, n+1):
    for j in range(1, n+1):
        print(j*i, end='*')
    print(end='\b\n')

运行结果:

1*2*3*
2*4*6*
3*6*9*

期望结果:

1*2*3
2*4*6
3*6*9

几种修改方案:

  • 方案一:用字符串join生成整行
    先把每行的元素转成字符串存入列表,再用*连接后打印,简洁直观:
n = 3
for i in range(1, n+1):
    row = [str(j*i) for j in range(1, n+1)]
    print('*'.join(row))
  • 方案二:调整循环内的打印逻辑
    判断当前元素是否是该行最后一个,只在非末尾元素后加*:
n = 3
for i in range(1, n+1):
    for j in range(1, n+1):
        print(j*i, end='*' if j != n else '')
    print()
  • 方案三:利用print的sep参数
    把每行的元素作为print的可变参数,指定分隔符为*,print会自动在元素间添加分隔符,末尾不会出现多余符号:
n = 3
for i in range(1, n+1):
    print(*(j*i for j in range(1, n+1)), sep='*')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 09:55:32