On Friday, August 2, 2013 7:11:37 PM UTC-7, Joshua Landau wrote: > On 3 August 2013 02:44, <kevin...@gmail.com> wrote: > > > > Yeah, I already know about that. But if I try to change it, I'm not even able > to start the program. If I try to change the if statement that it corresponds > with, I get a an error saying "card" is not a global. And if I try to shift > it in, for some reason...the program runs through the MISS line multiple > times. > > > > > > You have a car with a broken engine and a broken tire and are telling us that > you refuse to fix the engine because it highlights the problem of the broken > tire. > > > Take the fix and move on to the next problem. > > > > > One piece of advice is about scoping. This is perhaps the hardest "gotcha" of > Python conceptually, but it's sensible once you understand the justifications. > > > Run the four commands below and try and understand why this applies to your > code. > > > > > a = 1 > > > def access_global(): > print(a) > > > def set_variable(): > a = 2 > print(a) > > > def broken_set(): > > > a = a + 1 > print(a) > > > def also_broken(): > print(a) > return > a = 1 # Never run! > > > The fix for the broken variants is to start the functions with "global a".
I'll take a look at those. I used that fix you brought up as well but the main issue I get after that is: I'll try to explain the main issue I'm having as accurately as possible. Basically, I've changed the indentations around but the main issue I get is that the GetTopCard(sDeck) line is being run multiple times for some reason. So when I run the program, I get "MISS: You fished up the rank......" multiple times and my list pHands[0] is increased by several number combinations when I only want it to increase by one. I also updated that last definition in my main code. 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: 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 -- http://mail.python.org/mailman/listinfo/python-list