Python 这里的变量赋值有什么问题?

Python 这里的变量赋值有什么问题?,python,Python,在上下文中,我是一名学生,通过一个名为CodeHS的课程包学习Python。我们被指示使用Python绘制目标形状的图像。这是通过引导屏幕上的精灵来完成的。然而,似乎无论我做什么,我都会在第4行收到一条错误消息,说明在第4行赋值之前引用了局部变量“radius”,我不确定我在这里做错了什么。如果有人认为他们可能有一个适合这种情况的答案,请让我知道 这是我第一次在StackOverflow上发布问题。因此,我可能没有提供足够的信息,也没有说清楚。如果是这样,请让我知道。我想学:) 如果这有帮助,下

在上下文中,我是一名学生,通过一个名为CodeHS的课程包学习Python。我们被指示使用Python绘制目标形状的图像。这是通过引导屏幕上的精灵来完成的。然而,似乎无论我做什么,我都会在第4行收到一条错误消息,说明在第4行赋值之前引用了局部变量“radius”,我不确定我在这里做错了什么。如果有人认为他们可能有一个适合这种情况的答案,请让我知道

这是我第一次在StackOverflow上发布问题。因此,我可能没有提供足够的信息,也没有说清楚。如果是这样,请让我知道。我想学:)

如果这有帮助,下面是显示课程仪表板的图像

下面是我写的代码的副本

radius = 25
def target():
    for i in range(4):
        circle(radius)
        right(90)
        penup()
        forward(25)
        pendown()
        left(90)
        radius = radius + 25
target()

谢谢大家

在函数中指定
radius
使其成为局部变量,因此全局变量被完全隐藏。除非需要在函数外部使用
radius
,否则应在函数本身中初始化

def target():
    radius = 25

    for i in range(4):
        circle(radius)
        right(90)
        penup()
        forward(25)
        pendown()
        left(90)
        radius = radius + 25
target()

您要做的是将
radius
传递到函数中,如下所示:

def target(radius=25):
    """put your code here"""

这回答了你的问题吗?好啊有趣。谢谢你。我在系统中测试了它,它工作得非常完美。非常感谢你的帮助!