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

Python绘制指定样式窗口:代码仅生成一半效果求助

Python绘制指定窗口样式的解决方法

需求样式

要绘制的窗口样式如下:

+----+----+
|    |    |
|    |    |
|    |    |
|    |    |
+----+----+
|    |    |
|    |    |
|    |    |
|    |    |
+----+----+

问题原因

你当前的代码仅生成一半效果,问题出在:

  • 函数定义前的i = x会触发未定义错误(即便你误写成i = y,循环逻辑也只处理了一组边框和内容行,无法实现两组重复结构)
  • 原循环中每次非边框行打印两行,循环次数与实际需求的行数不匹配,导致整体结构缺失一半

修正方案

固定需求版本

直接按顺序绘制两组“边框+4行内容”,最后补底部边框:

def draw_window():
    border = "+----+----+"
    content = "|    |    |"
    
    # 第一组窗格
    print(border)
    for _ in range(4):
        print(content)
    
    # 第二组窗格
    print(border)
    for _ in range(4):
        print(content)
    
    # 底部边框
    print(border)

draw_window()

灵活参数版本

如果需要调整窗格列数或每个窗格的内容行数,可使用参数化代码:

def draw_window(pane_count=2, lines_per_pane=4):
    # 生成对应列数的边框和内容行
    border = "+----+" * pane_count + "+"
    content = "|    |" * pane_count
    
    # 循环绘制每组窗格
    for _ in range(pane_count):
        print(border)
        for _ in range(lines_per_pane):
            print(content)
    # 最后一条边框
    print(border)

# 调用生成需求中的样式
draw_window(pane_count=2, lines_per_pane=4)

代码说明

  • 提前定义重复使用的border和content字符串,避免冗余代码
  • 固定版本直接匹配需求的结构,逻辑清晰易懂
  • 参数化版本可快速调整生成不同规格的窗口,扩展性更强

内容的提问来源于stack exchange,提问作者Joseph Badana Rivera

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 05:15:26