I edited the output of Lines 109-111 from my source code out of the interpreter transcripts above, by the by.
On 5 December 2012 18:11, C M Caine <cmca...@googlemail.com> wrote: > Dear all, > > I've written a class State that subclasses tuple. The class has a method > move_state that takes a move and returns a new state object representing > the new state of the game. > > I would expect S1 and S3 to be equal on the last line here, but they are > not. > > >>> import game > >>> S = game.State() > >>> S1 = S.move_state(1).move_state("SWAP") > >>> S2 = S.move_state(1) > >>> S3 = S2.move_state("SWAP") > >>> S1 == S3 > False > > Printing the two states shows that they have very different internal > states. > > >>> print S1 > (8, 8, 8, 8, 8, 8, 0) > 1 0 > (7, 7, 7, 7, 7, 7, 7) > >>> print S3 > (7, 7, 7, 7, 7, 7, 7) > 0 1 > (0, 8, 8, 8, 8, 8, 8) > > If anyone is interested, State represents the state of a 7 7 Kalah board. > > The full code is on pastebin http://pastebin.com/tUh0W5Se > > Are my expectations faulty? (I hope not) > Have I made some mistake in my code to get these results? > > Thanks in advance, > Colin Caine > >
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor