2013-05-11 48 views
0

我是Python新手。把它放在那裏。如何將函數輸出添加到Python中的字符串文字?

我想要做的是將函數的輸出添加到另一個函數輸出的字符串文字中。

就是這種情況:

**

def prime(n): 
    **blahh blah blah....** 
    if z == True: 
     return " and prime" 
    else: 
     return "" 
def happyPrime(n): 
    **more blah blah blah** 
      if n == 1: 
       print ("Number is happy%s!" % prime) 
       break 
      if n in visited: 
       print ("Number is sad%s!" % prime) 
      visited.add(n) 

[忽略在代碼段的凹口,StackOverflow的使他們出來錯。] 預期的結果是,當然,在那裏模數是它增加了其他函數返回的內容。不過,我認爲我可能會以錯誤的方式接近它。

+1

您應該使用'prime(n)'而不是'prime'; 'print(「Number is happy%s!」%prime(n))''。 – 2013-05-11 17:52:39

回答

1

這裏:

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 
+1

謝謝!有用! – Aristides 2013-05-11 17:59:33

+1

值得注意的是,Python文檔在舊的'%'字符串格式中推薦使用新的['str.format()'](http://docs.python.org/3.3/library/stdtypes.html#str.format) 。 – 2013-05-11 18:02:20

+0

@Lattyware謝謝你指出。我應該更仔細地閱讀Python文檔。 – 2013-05-11 18:05:00

0

不知道挺你的意思,如果你想%要返回的總理(n)的結果,你必須給總理的說法,因爲它希望之一。從它的外觀來看,無論是真或假。

print ("number is happy%s!" % prime(True))

相關問題