多行返回语句

时间:2013-09-01 06:25:53

标签: python python-2.7

已经仔细检查了互联网,试图解决这个问题,但没有运气。据我所知,你通常只有一个return语句,但我的问题是我需要在return语句中有换行符,以便测试返回'true'。我试过的是抛出错误,可能只是一个新手的错误。我目前的功能是没有尝试换行。

def game(word, con):
   return (word + str('!')
   word + str(',') + word + str(phrase1)

新的换行符(\ n)是否应该在return语句中起作用?这不是我的测试。

4 个答案:

答案 0 :(得分:12)

在python中,一个开放的paren会导致后续行被视为同一行的一部分,直到关闭paren。

所以你可以这样做:

def game(word, con):
    return (word + str('!') +
            word + str(',') +
            word + str(phrase1))

但我不建议在这种特殊情况下。我提到它,因为它在语法上是有效的,你可以在其他地方使用它。

你可以做的另一件事是使用反斜杠:

def game(word, con):
    return word + '!' + \
           word + ',' + \
           word + str(phrase)
    # Removed the redundant str('!'), since '!' is a string literal we don't need to convert it

或者,在这种特殊情况下,我的建议是使用格式化的字符串。

def game(word, con):
    return "{word}!{word},{word}{phrase1}".format(
        word=word, phrase1=phrase1")

看起来它在功能上等同于你在你的身上做的但我真的不知道。后者就是我在这种情况下所做的事情。

如果你想在STRING中换行,那么你可以在任何需要的地方使用“\ n”作为字符串文字。

def break_line():
    return "line\nbreak"

答案 1 :(得分:3)

您可以在return语句中拆分一行,但是您最后忘记了一个括号,并且还需要将其与另一个运算符分开(在本例中为+

变化:

def game(word, con):
   return (word + str('!')
   word + str(',') + word + str(phrase1)

要:

def game(word, con):
   return (word + str('!') + # <--- plus sign
   word + str(',') + word + str(phrase1))
#                                       ^ Note the extra parenthesis

请注意,在str()'!'上调用','毫无意义。它们已经是字符串了。

答案 2 :(得分:1)

首先 - 您正在使用str()将多个字符串转换为字符串。这不是必要的。

第二 - 您的代码中没有任何内容可以在您正在构建的字符串中插入换行符。只是在字符串中间添加换行符不会添加换行符,您需要明确地执行此操作。

我认为你要做的就是这样:

def game(word, con):
    return (word + '!' + '\n' +
        word + ',' + word + str(phrase1))

我要离开str(phrase1)的电话,因为我不知道短语1是什么 - 如果它已经是字符串,或者有.__str__()方法这不应该不需要。

我假设您尝试构建的字符串跨越两行,所以我在最后添加了缺少的括号。

答案 3 :(得分:0)

简单易懂的代码

def sentence():
    return print('ankit \nkalauni is\n the\n new\n learner\n in\n programming')
sentence()

输出:
ankit
kalauni



学习者

编程

在python中返回多行的简便方法