【问题标题】:Python prints "none" in output [duplicate]Python在输出中打印“无”[重复]
【发布时间】:2020-05-14 13:27:56
【问题描述】:

在下面的代码中,我试图在字符串中打印所有数字。输出打印 10、20、30、无。我知道打印了“无”,因为我没有在函数中“返回”任何内容。我如何最好地重写此代码以避免输出“无”。

import re

def myfunc(string):
    patterns=r'\d+'
    array=re.findall(patterns,string)
    for n in array:
        print(n)

print(myfunc("Ten 10, Twenty 20, Thirty 30"))

【问题讨论】:

  • 如果您不想打印它返回的None,只需调用myfunc("Ten 10, Twenty 20, Thirty 30") 而不是print(myfunc("Ten 10, Twenty 20, Thirty 30"))
  • 您正在打印myfunc函数的return语句,即None...

标签: python


【解决方案1】:

原因是函数中缺少return

否则,每个函数中都有一个隐含的return None

要么离开最底部的print(),要么让函数返回一个有用的值。

希望这会有所帮助:-)

【讨论】:

  • 也许不要回答明显的常见问题解答,而是作为重复关闭。
  • @triplee 对于新的海报,宁愿犯错怎么样。您不必对新来的人苛刻,也不必删掉一些琐碎的寒暄。
  • 重复并不“苛刻”,它们通常有几个经过仔细审查的答案,这可能比对标准答案的厌倦常规重述更有帮助。
  • @tripleee 从 OP 的角度来看,他们可能没有足够的知识来找到或识别其他答案。我不反对将其作为副本关闭,但我帮助解决他的问题并没有错,对它友善也没有错。我们正在努力使 StackOverflow 成为一个更好的地方,并特别欢迎新人。您不必同意这一点,但您不必踩踏其他试图让环境更愉快的人。
猜你喜欢
  • 2017-04-15
  • 2019-02-24
  • 1970-01-01
  • 1970-01-01
  • 2021-12-21
  • 2017-12-29
  • 2012-12-21
  • 2020-02-03
  • 2020-02-29
相关资源
最近更新 更多