【问题标题】:python function using print works return doesnt使用打印的python函数返回没有
【发布时间】:2016-02-20 17:10:00
【问题描述】:

我已经扫描了几个小时的留言板,但仍然无法弄清楚这一点: 我正在创建一个在使用 print 时正确输出但无法通过 return 获得相同结果的函数。

list=[newport, sebastian, vero]

我的功能:

def email_tides(list):
    for i in list:
        l=i.find('stationname')
        location=l.text
        return location

z=email_tides(list)
print z

输出: 新港

当我用 return 替换 print (并去掉 z=...)时,输出是:

NEWPORT
Sebastian
Vero Beach

我希望能够返回 print 给我的输出。

【问题讨论】:

  • i.find 将返回 intint 没有文本属性,因此您的代码无效
  • 函数在python中,我没有遇到.find,编辑你的帖子并解释清楚

标签: python printing return


【解决方案1】:

您需要指定列表的索引。现在你只是告诉 python 返回整个列表,你只是想返回一个东西。


例如:

return z[0]

这将返回字符串“newport”。

【讨论】:

    【解决方案2】:

    您的代码根本不起作用。甚至无法理解它应该做什么。 我猜你的代码会返回它找到的第一件事(newport)。

    当一个函数返回时,它会立即退出并且不再继续,这意味着你只会得到你返回的第一个东西。

    我建议编辑你的问题,使函数 email_tides 更具可读性和正确的代码格式。

    还要更好地记录行为和预期行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-14
      • 1970-01-01
      • 2019-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-03
      • 1970-01-01
      相关资源
      最近更新 更多