2013-03-08 1 views
0

Привет Я новичок в python и программировании, я написал код для словарной игры, и когда он запускается, есть «Нет», напечатанный перед некоторым выходом. есть способ удалить их, я знаю, что это связано с тем, что цикл ничего не возвращает, но я бы предпочел не менять код, если это было возможно (я взял достаточно много в первый раз :)) Спасибо заранее.избавление от 'NONE' перед оператором печати в python

def compPlayHand(hand, wordList, n): 

    # Keep track of the total score 
    totalScore = 0 
    # As long as there are still usable letters left in the hand: 
    while compChooseWord(hand,wordList,n) is not None: 

     # Display the hand 

     print "Current Hand: ", 
     print displayHand(hand), 

     word = compChooseWord(hand,wordList,n) # comp chooses word 
     hand = updateHand(hand,word) 
     # Tell the user how many points the word earned, and the updated total score, in one line followed by a blank line 
     getWordScore(word,n) 
     totalScore += getWordScore(word,n) 
     # Update the hand 
     c = calculateHandlen(hand) 

     print '"'+str(word)+'"' + " earned " + str(getWordScore(word,n)) +' points.' " Total: " + str(totalScore) + " points."  # Otherwise (the word is valid): 
     print 

     if compChooseWord(hand,wordList,n) is None: # End the game (break out of the loop) 

      print "Current Hand: ", \ 
       displayHand(hand), 
      print "Total score: " + str(totalScore) + " points." 

ответ

3

Мы были над этим, не print displayHand, просто назвать это самостоятельно.

def compPlayHand(hand, wordList, n): 
    # Keep track of the total score 
    totalScore = 0 
    # As long as there are still usable letters left in the hand: 
    while compChooseWord(hand,wordList,n) is not None: 

     # Display the hand 

     print "Current Hand: ", 
     displayHand(hand) 

     word = compChooseWord(hand,wordList,n) # comp chooses word 
     hand = updateHand(hand,word) 
     # Tell the user how many points the word earned, and the updated total score, in one line followed by a blank line 
     getWordScore(word,n) 
     totalScore += getWordScore(word,n) 
     # Update the hand 
     c = calculateHandlen(hand) 

     print '"'+str(word)+'"' + " earned " + str(getWordScore(word,n)) +' points.' " Total: " + str(totalScore) + " points."  # Otherwise (the word is valid): 
     print 

     if compChooseWord(hand,wordList,n) is None: # End the game (break out of the loop) 

      print "Current Hand: ", 
      displayHand(hand) 

      print "Total score: " + str(totalScore) + " points." 
+0

Спасибо! После этого я чувствую себя довольно глупым. –

+0

@PadraicCunningham Если это отвечает на ваш вопрос, не стесняйтесь выбирать его как правильный ответ, нажав зеленую галочку. – askewchan