def characterLine(firstChar,secondChar,phrase):
'\n' + ((str(firstChar)+str(secondChar))*(len(phrase)/2)+len(phrase)%2* firstChar)
因此,代码的第二部分将显示,但是当我尝试将它与跳线连接时,它将显示“无”。这是什么显示无?
有人可以向我解释为什么会发生这种情况吗?
def characterLine(firstChar,secondChar,phrase):
'\n' + ((str(firstChar)+str(secondChar))*(len(phrase)/2)+len(phrase)%2* firstChar)
因此,代码的第二部分将显示,但是当我尝试将它与跳线连接时,它将显示“无”。这是什么显示无?
有人可以向我解释为什么会发生这种情况吗?
,如果你想打印的characterLine(..)
的返回值,即
print characterLine(...)
这一点,因为你是不是在你表达前面使用return
关键字将打印None
。设置
def characterLine(firstChar,secondChar,phrase):
return '\n' + ((str(firstChar)+str(secondChar))*(len(phrase)/2)+len(phrase)%2* firstChar)
应返回一个非None值(然后您可以print
)。
我想也许他已经看过'lambda'语法,并将其与'def'语法混淆。但是我会删除'lambda'上的部分。 –
Gotcha。没有它,我认为这个帖子还是更好。 +1发现他的问题,不像我们其他人刚刚在这行代码的其余部分:) – agf
默认情况下,函数具有隐含的return None
作为结束。
空的return-statement也返回None
。
所以,你只需要将return语句添加到你的函数。除此之外,其余部分看起来没问题。祝你好运:-)
我们需要完整的代码,格式正确。 – orlp
@Matt Ball:'s/concatentate/concatenate'? – orlp
你为什么要写这样的Python代码? –