2011-11-08 41 views
-2
def characterLine(firstChar,secondChar,phrase): 
    '\n' + ((str(firstChar)+str(secondChar))*(len(phrase)/2)+len(phrase)%2* firstChar) 

因此,代码的第二部分将显示,但是当我尝试将它与跳线连接时,它将显示“无”。这是什么显示无?

有人可以向我解释为什么会发生这种情况吗?

+2

我们需要完整的代码,格式正确。 – orlp

+3

@Matt Ball:'s/concatentate/concatenate'? – orlp

+0

你为什么要写这样的Python代码? –

回答

3

,如果你想打印的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)。

+0

我想也许他已经看过'lambda'语法,并将其与'def'语法混淆。但是我会删除'lambda'上的部分。 –

+0

Gotcha。没有它,我认为这个帖子还是更好。 +1发现他的问题,不像我们其他人刚刚在这行代码的其余部分:) – agf

0

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

空的return-statement也返回None

所以,你只需要将return语句添加到你的函数。除此之外,其余部分看起来没问题。祝你好运:-)