Hi Ed, I transformed the programm 1:1 to Python without to use special Numeric-Extensions. My K6-2 with 400 MHz show this result:
starting time Tue Apr 09 12:27:33 2002 finished time Tue Apr 09 12:30:13 2002 i = 8145060 8145060 40 41 42 43 44 45 import time print "starting time " print time.ctime() R = [[0]*(7+1)]*(8145060+1) i = 0 for a in xrange(1, 40+1): for b in xrange(a+1, 41+1): for c in xrange(b+1, 42+1): for d in xrange(c+1, 43+1): for e in xrange(d+1, 44+1): for f in xrange(e+1, 45+1): i = i + 1 R[i][1] = a R[i][2] = b R[i][3] = c R[i][4] = d R[i][5] = e R[i][6] = f R[i][7] = i print "finished time "; print time.ctime() print "i =", i print R[i][7], R[i][1], R[i][2], R[i][3], R[i][4], R[i][5], R[i][6] ----- Original Message ----- From: "Ed Hopkins" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, April 09, 2002 5:39 AM Subject: Conversion from GFA Basic to Python for SpeedTest > Hi, > > I'm new to Python and am very impressed with it. Unfortunately I am not yet > at the stage where I can convert the GFA Basic code below into Python. Can > anyone help please? Any response appreciated and will certainly help me to > understand more about Python. BTW This is not a challenge to Python, it's > more like a challenge from a pal to me. > > Thanks Ed > > -------------------------- GFA Basic > Code ---------------------------------- > > I made a speed test with the following > program. It writes all 8 million combinations of > 6 of 45 into a field R() and gives each combination > a line number, starting from 1 to 8145060 and then > it prints the last line to show that all lines are filled. > Option Base 1 means, that the first index starts with > 1 and not with 0. > > > Print "starting time "; > Print Time$ > Global a As Int = 0 > Global b As Int = 0 > Global c As Int = 0 > Global d As Int = 0 > Global e As Int = 0 > Global f As Int = 0 > Local i As Int = 0 > > Dim R(8145060, 7) As Int > Option Base 1 > > For a = 1 To 40 > For b = a + 1 To 41 > For c = b + 1 To 42 > For d = c + 1 To 43 > For e = d + 1 To 44 > For f = e + 1 To 45 > > i = i + 1 > R(i, 1) = a > R(i, 2) = b > R(i, 3) = c > R(i, 4) = d > R(i, 5) = e > R(i, 6) = f > R(i, 7) = i > > Next f > Next e > Next d > Next c > Next b > Next a > Print "finished time "; > Print Time$ > Print "i =" ; i > Print R(i, 7), R(i, 1); R(i, 2); R(i, 3); R(i, 4); R(i, 5); R(i, 6) > > > The result of this code: > > starting time : 10:06:30 > finished time: 10:06:41 > i = 8145060 > 8145060 40 41 42 43 44 45 > > -------------------------- GFA Basic > Code ---------------------------------- > > Within 11 seconds all 8145060 combinations of 6 of 45 > have been written into a table together with a line > identification number at position R(i,7) , > at a 800 MHz computer with 195 MB memory. > > > > _______________________________________________ > ActivePython mailing list > [EMAIL PROTECTED] > To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs > _______________________________________________ ActivePython mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs