为什么显示无?

时间:2011-11-08 22:32:06

标签: python

def characterLine(firstChar,secondChar,phrase):
     '\n' + ((str(firstChar)+str(secondChar))*(len(phrase)/2)+len(phrase)%2* firstChar)

因此代码的第二部分将显示,但是当我尝试将其与行跳过连接时,它会显示“无”。

有人可以向我解释为什么会这样吗?

2 个答案:

答案 0 :(得分:3)

如果您尝试打印characterLine(..)的返回值,即

print characterLine(...)

这将打印None,因为您没有在表达式前使用return关键字。设置

def characterLine(firstChar,secondChar,phrase):
    return '\n' + ((str(firstChar)+str(secondChar))*(len(phrase)/2)+len(phrase)%2* firstChar)

应该返回None以外的值(然后你可以print)。

答案 1 :(得分:0)

默认情况下,函数隐含return None作为结束。

return-statement也会返回None

因此,您只需要将return语句添加到您的函数中。其他人,其余部分看起来还不错。祝你好运: - )