返回已在python 3.3中命名的列表

时间:2015-02-12 03:58:07

标签: python list return

我试图从函数中返回一些东西,但我一直在收到错误,说得分函数没有被定义,代码应该解释我试图做的事情。

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)

提前致谢!

3 个答案:

答案 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))