[Tutor] Is there a better way to do this?
kyeser at earthlink.net
Thu Jul 22 03:22:26 CEST 2004
I'm trying to write a program that computes six-digit numbers, in which
the left digit is always smaller than its following digit (i.e., it's
always ascending). The output of the program starts with "0 1 2 3 4 5"
and ends on "6 7 8 9 A B." The best I could do was to have many
embedded 'for' statements:
c = 1
for p0 in range(0, 7):
for p1 in range(1, 12):
for p2 in range(2, 12):
for p3 in range(3, 12):
for p4 in range(4, 12):
for p5 in range(5, 12):
if p0 < p1 < p2 < p3 < p4 < p5:
print repr(c).rjust(3), "\t",
print "%X %X %X %X %X %X" % (p0, p1, p2, p3, p4, p5)
c += 1
This works, except that it's very slow. I need to get it up to
nine-digit numbers, in which case it's significantly slower. I was
wondering if there is a more efficient way to do this.
I would highly appreciate it if anyone could help.
More information about the Tutor