On Friday, August 2, 2013 6:42:30 PM UTC-7, Terry Reedy wrote: > 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. > > Yeah, thanks for the advice. But unfortunately, I already tried that and I > ended up with a whole bunch of new errors. > > -- > > Terry Jan Reedy
-- http://mail.python.org/mailman/listinfo/python-list