Nonsense: they are executed just as you ask, even though what you ask is not what you meant.

On 8/2/2013 8:40 PM, kevin4f...@gmail.com wrote:

def player_0_hitman(hit):
     for card in pHands[target_player]:
         if target_card[0] == card[0]:
             count = pHands[target_player].count(card)
             pHands[0].append(card)
             pHands[target_player].remove(card)
             ShowMessage("HIT: " + str(count) + " card(s) transferred")
     else:
           else: # indent to match if
         if target_card[0] != card[0]:
           # delete this if line, see below.

             top_card = GetTopCard(sDeck)
             pHands[0].append(top_card)
             if top_card[0] == target_card[0]:
                 ShowMessage("HIT: LUCKILY Player 0 has fished up a rank <" + 
str(top_card[0]) + ">!!!")
             else:
                 ShowMessage("MISS: You fished up the rank <" + str(top_card[0]) + 
">")
                 hit = hit - 1
             return hit

This executes the for loop multiple times and the the else: clause of the *for* statement (see the ref manual). I believe you want the whole else: clause indented so that it will be executed when the if condition is false. If so, the second if is redundant and should just be removed.

--
Terry Jan Reedy

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to