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

Python自定义菱形图案打印求助:去除行尾空格

解决Python菱形图案行尾空格问题
  • 快速修复方案:在打印每行内容前,调用字符串的rstrip()方法移除行尾所有空白字符。这个方法不会影响内容中间的空格,只清理末尾冗余空格。
  • 根源优化方案:通过计算每行的总长度,使用center()等字符串居中方法构建行,从一开始就避免手动添加多余的后缀空格。

示例修复代码

假设原有代码存在手动拼接空格导致行尾冗余的问题,修复后的代码如下:

m = 3  # 块数
n = 4  # 每个块的头部行数

# 计算每行的总长度,确保居中对称
total_line_length = 2 * (m - 1) + 2 * n - 1

for block in range(m):
    # 打印块的头部行
    for head_row in range(n):
        stars = "*" * (2 * head_row + 1)
        print(stars.center(total_line_length))
    
    # 打印块内的<em>行(仅当头部行数>2时)
    if n > 2:
        for _ in range(n - 2):
            em_line = "<em>" + " " * (2 * (n - 1) - 3) + "<em>"
            print(em_line.center(total_line_length))
    
    # 打印块的尾部行(倒序头部)
    for tail_row in range(n - 2, -1, -1):
        stars = "*" * (2 * tail_row + 1)
        print(stars.center(total_line_length))

关键说明

  1. rstrip()的用法:如果你的原有代码是手动拼接前缀和后缀空格,只需要在print()中对行字符串调用rstrip(),比如print(line.rstrip()),就能快速去掉行尾空格。
  2. center()的优势:通过计算固定的总行长度,用center()自动对称填充空格,既保证了图案的菱形结构,又不会产生多余的行尾空格,代码更简洁易维护。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 07:33:23