为什么会显示为None?

-2 投票
2 回答
719 浏览
提问于 2025-04-17 05:54
def characterLine(firstChar,secondChar,phrase):
     '\n' + ((str(firstChar)+str(secondChar))*(len(phrase)/2)+len(phrase)%2* firstChar)

所以代码的第二部分会显示出来,但当我试着在它和换行之间连接时,它却显示“None”。

有人能告诉我为什么会这样吗?

2 个回答

0

默认情况下,函数结束时会隐含地返回一个 None

如果你写一个空的 return语句,它也会返回 None

所以,你只需要在你的函数里加上 return 语句。其他部分看起来没问题。祝你好运 :-)

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 打印出来)。

撰写回答