[Tutor] Set changing order of items?

Fri Jan 19 20:18:36 CET 2007

```I'm adding strings to a Set to prevent duplicates. However, the
strings are meant to be in the correct order. When I add the string to
the Set, the order seems to change (and I don't seem to be able to
predict what order they are in).

The string is a simple addition question which should look like this
1) 20 + 3 = 23

I've kept the question ("1) 20 + ") separate from the answer ("23") so
that I can hide the answers later on.

The code that produces this is:

problem_set.add(str(count) +") "+ str(a)+ " + "+ str(b)+ " = ")

However str(problem_set) returns something more like:
(['18\n', '2) 6 + 9 = ', '15\n', '1) 9 + 9 = '])

Is there a better way of organising this? Any suggestions gratefully
received.  In writing this email, I've realised that already I run the
risk of having different problems (20 + 1 and 19 + 2) which have the
same answer (21) which won't be allowed in the set.

The whole code can be seen at[1].

TIA
--
http://www.monkeez.org
PGP key: 0x7111B833

[1]
"""Returns a list of additions for i iterations."""
count = 1
sums = []
problem_set = set()
while len(problem_set)<=i*2:
#while count <=i:
a = randint(lowrange, hirange)
b = randint (lowrange, hirange)
problem_set.add(str(count) +") "+ str(a)+ " + "+ str(b)+ " = ")