Python报错NameError:_text未定义问题求助(已自行修复)
问题分析与解决:NameError: name '_text' is not defined
报错原因
_text()函数被定义在heart()函数内部,属于局部函数。Python中,局部函数的作用域仅限于定义它的外部函数(即heart())内部,全局作用域无法直接访问这个函数,因此执行_text()时会触发NameError。
修复方案
方案1:将_text()改为全局函数
把_text()移到heart()函数外部,使其成为全局作用域下的函数,这样就能在外部直接调用:
import turtle pen=turtle.Turtle() def curve(): for i in range(200): pen.right(1) pen.forward(1) def _text(): pen.up() pen.setpos(-68, 95) pen.down() pen.color('yellow') pen.write("I Love You") def heart(): pen.fillcolor('red') pen.begin_fill() pen.left(140) pen.forward(113) curve() pen.left(120) curve() pen.forward(112) pen.end_fill() heart() _text() pen.ht()
方案2:在heart()内部调用_text()
如果不需要在外部调用_text(),可以直接在heart()函数内部执行该局部函数:
import turtle pen=turtle.Turtle() def curve(): for i in range(200): pen.right(1) pen.forward(1) def heart(): pen.fillcolor('red') pen.begin_fill() pen.left(140) pen.forward(113) curve() pen.left(120) curve() pen.forward(112) pen.end_fill() def _text(): pen.up() pen.setpos(-68, 95) pen.down() pen.color('yellow') pen.write("I Love You") _text() # 在heart内部调用局部函数 heart() pen.ht()
内容的提问来源于stack exchange,提问作者Christopher Morris
相关产品推荐
相关产品推荐

