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

Python turtle库绘制一排房屋代码运行时画笔无移动问题排查

核心故障原因

画笔完全没有移动和文件体积、代码量无关,是代码逻辑错误导致绘制循环完全没有执行:

  • 你在house_street函数中使用size/400计算待绘制的房屋总数,当传入参数size=50时,计算结果为0.125,转换为整数后值为0,for循环直接跳过,没有运行任何绘制代码。
  • 即使修复数量计算逻辑,原代码每次调用house都传入固定坐标(-200, 0),所有房屋会重叠在同一位置,无法形成一排的效果。
  • 原house函数每次执行都会调用pen.left(180),多次调用后画笔方向会持续偏移,导致后续绘制的图形变形。
修复后可运行代码

调整了房屋数量、定位、方向控制逻辑,可实现指定数量的房屋并排绘制效果:

import turtle as pen
pen.speed(-1)

def triangle(side_length):
    for i in range(3):
        pen.forward(side_length)
        pen.right(120)

def square(side_length):
    for i in range(4):
        pen.forward(side_length)
        pen.left(90)

def house(side_length1, pos1, pos2):
    pen.up()
    pen.goto(pos1, pos2)
    pen.down()
    # 固定画笔初始方向,避免多次调用产生的方向偏移
    pen.setheading(0)
    square(side_length1)
    # 移动到屋顶起始绘制位置
    pen.left(90)
    pen.forward(side_length1)
    pen.right(90)
    triangle(side_length1)

def house_street(house_size, house_count):
    current_x = -200
    for _ in range(house_count):
        house(house_size, current_x, 0)
        # 绘制完一个房屋后向右偏移,预留间隙
        current_x += house_size + 20

# 示例:绘制6个边长为50的房屋
house_street(50, 6)

pen.done()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 00:30:00