格式化字符串和函數調用我有一個功能,displayHand(),它看起來像這樣:打印在python
def displayHand(hand):
"""
Displays the letters currently in the hand.
For example:
>>> displayHand({'a':1, 'x':2, 'l':3, 'e':1})
Should print out something like:
a x x l l l e
The order of the letters is unimportant.
hand: dictionary (string -> int)
"""
for letter in hand.keys():
for j in range(hand[letter]):
print letter, # print all on the same line
print # print an empty line
它是爲我提供的(從600X類)。如上所述,它需要一個字符串 - >整數的字典並打印出「手」。
我遇到越來越這顯示正確的煩惱什麼。當我嘗試
print('Current Hand: ', displayHand(hand))
這就是我得到:
a d d m o q y
('Current Hand: ', None)
,因爲這是由教師提供的,我敢肯定有代碼是這樣寫的一個原因,有什麼東西我米沒有得到。
我希望得到的是輸出這樣的:
Current Hand: a d d m o q y
我絕對全新這個東西,所以我甚至不知道問什麼問題。
我的評價:至於我能拼湊,displayHand()不返回任何東西,這是什麼擰緊了這一切。但是,我如何捕獲這個函數的打印輸出並按照我想要的方式呈現它?我想我應該試圖捕獲它在一個字符串,並有返回,但假設
教師試圖證明什麼,我會怎麼做,而不改變displayHand()方法?
如果我的評估是關閉的,發生了什麼事?
編輯:此功能是給我的班級,我將不得不使用它是這樣。我知道改變它返回一個str會容易得多,但是我怎麼才能在沒有這樣做的情況下完成正確的輸出?
進一步編輯:我處理,要求完全按照我寫的輸出autograder。對不起,如此挑剔,我很欣賞答案,如果不是這樣的話,會使用它們。
最後編輯:感謝您的澄清 - 我會用你的想法,使這個函數做什麼,我需要做一個內部的輔助函數!
FINAL final編輯:我想通了!我所要做的就是,
print('Current Hand:'),
displayHand(hand)
對於真正的最終編輯:
Hah! you got it too! thank you so much for the help, I appreciate it!
我想你的功能應該不是返回打印它們的值。 – Oli 2013-03-08 17:02:03