我试图从函数中返回一些东西,但我一直在收到错误,说得分函数没有被定义,代码应该解释我试图做的事情。
names = ['joe','tom','barb','sue','sally']
scores = [10,23,13,18,12]
def makeDictionary(names, scores):
scoreDict = dict(zip(names, scores))
return scoreDict
print(scoreDict)
提前致谢!
答案 0 :(得分:3)
你需要调用该函数,否则它的正文永远不会执行!
此外,您需要分配其结果 - 它不会隐式完成。
所以,添加
scoreDict = makeDictionary(names, scores)
在尝试print
之前说scoreDict
(或做任何其他事情: - )。
答案 1 :(得分:2)
您没有调用该函数,因此在当前范围内未定义变量scoreDict
:
names = ['joe','tom','barb','sue','sally']
scores = [10,23,13,18,12]
def makeDictionary(names, scores):
scoreDict = dict(zip(names, scores))
return scoreDict
scoreDict = makeDictionary(names, scores)
print(scoreDict)
答案 2 :(得分:0)
像Alex Martelli所说,你必须调用这个函数。解决此问题的一种方法是将print(scoreDict)
行替换为print(makeDictionary(names, scores))