【发布时间】:2016-07-19 15:41:19
【问题描述】:
所以这是我的问题,我正在尝试在 Python 中创建一个引用另一个函数的函数 这是我的代码:
def movies_creation():
for director in directors:
for i in range((int(director.age)-20)/random.randint(1,5)):
movie = MOVIE([], random.randint(1960, 2015),
random.choice(movie_genre), 0, [], director, 0, 0, 0)
movie_title_type = random.randint(1,40)
if movie_title_type == 1:
title_colors()
director.filmography.append(movie)
def title_colors():
movie.name.append(random.choice(title_colors))
现在,当我尝试运行此代码时,我收到以下错误消息:
回溯(最近一次通话最后): 文件“C:\Users\Patrick\Pictures\Python\TS\gui.py”,第 7 行,在 电影创作() 文件“C:\Users\Patrick\Pictures\Python\TS\Movies.py”,第 401 行,在 movies_creation 中 标题颜色() 文件“C:\Users\Patrick\Pictures\Python\TS\Movies.py”,第 343 行,在 title_colors movie.name.append(random.choice(title_colors)) NameError: 全局名称'movie'未定义不知道我做错了什么......
【问题讨论】:
-
请阅读错误信息:
NameError: global name 'movie' is not defined。您可能希望将movie作为参数传递。 -
变量
movie不在函数之间共享。您应该手动将其传递给title_colors。您应该阅读有关 Python 中“范围”的文档。 -
您收到的邮件中有哪些不清楚的地方?