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

如何在Python中通过GUI绘制由#字符构成的房间四周边墙

代码修改方案

你现有的代码仅实现了顶部边墙的绘制逻辑,且main函数缺少Gui初始化、绘制触发的完整流程,按如下调整即可实现四周边墙效果:

核心修改点

  • 补充draw方法中剩余三条边的绘制逻辑:底部水平边、左侧垂直边、右侧垂直边
  • 补全main函数的执行流程,增加Gui实例化、绘制调用、界面渲染逻辑

修改后完整代码

from gui import Gui

class Room:
    """The room has a width and height, a character to draw, and color."""

    def __init__(self, width, height, c,
            fore_color, back_color):
        self.width = width
        self.height = height
        self.c = c
        self.fore_color = fore_color
        self.back_color = back_color

    def draw(self, gui):
        # 原有顶部水平边
        gui.draw_line(self.c, 0, 0, self.width - 1, 0,
             self.fore_color, self.back_color)
        # 新增底部水平边
        gui.draw_line(self.c, 0, self.height - 1, self.width - 1, self.height - 1,
             self.fore_color, self.back_color)
        # 新增左侧垂直边
        gui.draw_line(self.c, 0, 0, 0, self.height - 1,
             self.fore_color, self.back_color)
        # 新增右侧垂直边
        gui.draw_line(self.c, self.width - 1, 0, self.width - 1, self.height - 1,
             self.fore_color, self.back_color)

def main():
    # 初始化Gui实例
    gui = Gui()
    room = Room(gui.get_width(), gui.get_height(), "#","WHITE", "BLUE")
    # 调用绘制方法渲染房间
    room.draw(gui)
    # 启动gui界面展示(可根据你使用的gui库实际api调整,常见方法名为run()/start()等)
    gui.run()

if __name__ == "__main__":
    main()

效果说明

上述代码默认适配draw_line参数为(绘制字符, 起点x, 起点y, 终点x, 终点y, 前景色, 背景色)的gui库,运行后即可得到四周用#字符填充的封闭房间效果。

房间墙面预期效果图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:36:10