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

编写绘图函数时已定义变量仍报UnboundLocalError错误,求解析

解决UnboundLocalError:变量'y'未定义即引用的问题

错误原因

你代码里的第一个while y < 50:循环判断语句执行时,变量y还没有被赋值定义——y = -50是写在这个循环内部的,程序第一次执行循环条件检查时找不到y的取值,所以抛出UnboundLocalError。

另外你的循环逻辑还有两个明显问题:

  • x的初始化放在外层循环外,会导致第一次外层循环后x持续累加,不会重置到起始位置
  • 内层循环里y -= 2会让y越来越小,永远达不到50,触发死循环

修正后的代码

def make_graph():
    y = -50
    while y < 50:
        x = -50
        while x < 50:
            draw_point(win, x, y)
            x += 2
        y += 2

修正说明

  1. 在第一个while循环前提前定义y = -50,确保循环条件检查时变量已存在
  2. 将x的初始化移到外层循环内部,保证每一行(固定y值)的x坐标都从起始点开始遍历
  3. 调整坐标递增方向:内层循环累加x实现横向遍历,外层循环累加y实现纵向遍历,覆盖整个画布区域,同时避免死循环

内容的提问来源于stack exchange,提问作者45 Ishan Prajapati

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 02:36:18