如何在Python中将函数输出添加到字符串文本?

如何在Python中将函数输出添加到字符串文本?,python,Python,我是Python新手。只是把它放在那里 我想做的是将一个函数的输出添加到另一个函数输出的字符串文本中 情况就是这样: ** [忽略代码段中的缩进,StackOverflow使它们出现错误。] 当然,预期的结果是,在模所在的位置,它添加了其他函数返回的内容。我想我可能用错误的方法来处理它。不太清楚你的意思,如果你想让%s返回prime(n)的结果,你必须给prime一个参数,因为它需要一个参数。从表面上看,不管是真是假 打印(“数字是快乐的%s!”%prime(True))此处: def happ

我是Python新手。只是把它放在那里

我想做的是将一个函数的输出添加到另一个函数输出的字符串文本中

情况就是这样:

**

[忽略代码段中的缩进,StackOverflow使它们出现错误。]
当然,预期的结果是,在模所在的位置,它添加了其他函数返回的内容。我想我可能用错误的方法来处理它。

不太清楚你的意思,如果你想让%s返回prime(n)的结果,你必须给prime一个参数,因为它需要一个参数。从表面上看,不管是真是假

打印(“数字是快乐的%s!”%prime(True))

此处:

def happyPrime(n):
     **more blah blah blah**
            if n == 1:
                print ("Number is happy%s!"  %  prime(n))
                break
            if n in visited:
                print ("Number is happy%s!"  %  prime(n))
            visited.add(n)
prime(n)
函数返回一个字符串。因此,
%s
将替换为返回的字符串

或者,您只需连接返回的字符串即可。例如:

>>> def foo(n):
        if n == True:
            return "yay"
        else:
            return "boo"

>>> def happyPrime(n):
        print "bar " + foo(n)

>>> happyPrime(True)
bar yay

>>> happyPrime(False)
bar boo

您应该使用
prime(n)
,而不仅仅是
prime
<代码>打印(“数字是快乐的%s!”%prime(n))。值得注意的是,Python文档建议使用较新的字符串格式,而不是较旧的
%
字符串格式。@Lattyware感谢您指出这一点。我应该更仔细地阅读Python文档。@ThanakronTandavas这不是一个大问题-
%
样式格式甚至还没有被弃用(虽然在某些时候可能会发生),但是养成使用新样式格式的习惯可能是个好主意。它更强大,更容易阅读。@Lattyware非常适合你。我会坚持到那时。
>>> def foo(n):
        if n == True:
            return "yay"
        else:
            return "boo"

>>> def happyPrime(n):
        print "bar " + foo(n)

>>> happyPrime(True)
bar yay

>>> happyPrime(False)
bar boo