2012-10-26 97 views
3

在Python中,我有一個打印某些東西的函數。我想在同一行上預先打印一些內容。如何打印某些內容,然後在同一行上打印一個打印函數?

所以,我用下面的代碼

print 'The hand is', displayHand(hand) 

def displayHand(hand): 

    for letter in hand.keys(): 
     for j in range(hand[letter]): 
      print letter,    # print all on the same line 
    print        # print an empty line 

但是會發生什麼情況是,在函數內部打印由函數外的打印調用。

如何打印打開的字符串,然後調用我的函數?

+0

請提供樣本輸入和預期輸出 – inspectorG4dget

回答

5

重命名displayHandrenderHand並讓它返回一個字符串。

0

通過@zmbq與返回提供的答案是明顯的和適當的人,但如果你仍然想用自己的方式,你可以使用新的print,假設你使用Python> = 2.6

from __future__ import print_function 
print("Something", end="") 

這樣,您可以無需打印\n。 因此,基本上可以做到,那麼:

print("The hand is", end="") 
displayHand(hand) 

而且在功能:

print("letter", end="") 
0

對於2.X:

print 'The hand is', 
displayHand(hand) 
print 

對於3.X:

print('The hand is', end="") 
displayHand(hand) 
print() 

更好的方法是移動打印'手'是進入功能本身。