我的功能没有返回值,无法找出原因

时间:2016-08-26 00:58:19

标签: python function return

该函数应该打开一个包含这种格式数据的csv文件

"投票公司,日期范围,投票数量,误差幅度,cruz,kasich,rubio,特朗普"

当我运行这个函数read_data_file时,没有输出,因为我要返回poll_data,所以我不明白。我不相信其余代码存在问题,就好像我更换了“返回投票数据”一样。用' print(poll_data)'有所需的输出。

我是一个菜鸟,并没有完全掌握回归。

<html>
<style>
.prev {
    opacity: 0;
    position: absolute;
    top: 34%;
    left: 0;
}

.prev:hover {
    opacity: 1.0;
}

.next {
    opacity: 0;
    position: absolute;
    top: 34%;
    right: 0;
}

.next:hover {
    opacity: 1.0;
}

</style>

<body>
<div class="outerBox">

                <img src="SliderLeftArrow.svg" alt ="Prev" class = "prev" /> 

                <img src="SliderRightArrow.svg" alt ="Next" class = "next"/>

                <img src="image1.jpg" class="imageBox" id="image_slider" />
</div>
</body>
</html>

3 个答案:

答案 0 :(得分:2)

您将功能中的最后一行从timeOffset更改为print。所以,当你这样调用你的函数时:

return

返回该数据。它坐在那里!但随后你的脚本结束了,对这些数据一无所知。所以,做这样的事情:

read_data_file('florida-gop.csv')

简短的附录 - 政治数据是学习Python数据操作的绝佳方式,如果是这样的话,也是Python本身。我推荐O&#39; Reilly关于数据和图书的书籍。 Python - 但这超出了这个问题的范围。

答案 1 :(得分:1)

这里有两个选项:

  1. :help clipboard-unnamedplus替换return poll_data
  2. 您可以执行print poll_data
  3. ,而不是read_data_file('florida-gop.csv')

    你为什么需要这样做?

    print read_data_file('florida-gop.csv') vs Print

    Return实际上会显示结果,而print只会将结果提供给计算机,如果这有意义的话。计算机知道它,但它没有打印它,这就是第二种解决方案有效的原因 - 计算机具有您想要的数据,并且如果您也可以打印它,它也可以打印它。但是,在您的情况下,第一个解决方案可能更容易。

    希望这有帮助!

答案 2 :(得分:0)

继续上述(或不再是上述xD)答案......

完整的代码现在是,

def read_data_file(filename):
    file = open(filename, 'r')
    poll_data = []
    for data in file:
        data = data.strip('\n')
        data = data.split(',')
        poll_data.append(data)
    return poll_data


print(read_data_file('florida-gop.csv')) # Before you forgot to print it.

或与上述答案完全相同,

def read_data_file(filename):
    file = open(filename, 'r')
    poll_data = []
    for data in file:
        data = data.strip('\n')
        data = data.split(',')
        poll_data.append(data)
    return poll_data


data = read_data_file('florida-gop.csv')
print(data)