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
相关产品推荐
相关产品推荐

