Ask your own question, for FREE!
MIT 6.00 Intro Computer Science (OCW) 19 Online
OpenStudy (anonymous):

Hi all, Im new to programming and just finished assignment 1.1 (which I think is correct). Could someone tell me if there's room for improvement or what could be done better. thanks heres the code: http://codepad.org/45TEO6yE (it only runs the first 20 primes to save time)

OpenStudy (anonymous):

I think it's very nice, but, maybe you could change n%x == 0 to n % x == 0 which improves readability. It's part of the python style guide: http://www.python.org/dev/peps/pep-0008/

OpenStudy (anonymous):

it works great, it will find primes less than 10000. If your search criteria was different or changing you would have to guess what the limit would be in line 2, or know the answer b4 hand. could you rewrite it to find just the 2000th prime? without having to guess how big that number is?

OpenStudy (anonymous):

Something like this? http://codepad.org/J67EOiDK

OpenStudy (anonymous):

you find only prime which is highest in up to 2000 but not 2000th prime

OpenStudy (anonymous):

@Tomas.A ah, I misread the question.

OpenStudy (anonymous):

cool. thanks all!

OpenStudy (carlsmith):

I liked this line. for n in range(3, 10000, 2): Using the optional, third arg like that saved you filtering out all the evens afterwards. It was clever to spot that.

OpenStudy (anonymous):

@michalmichalski did you manage to write program like @bwCa said?

OpenStudy (anonymous):

question guys...for this formula, line of for X in range (3,n), i made it: for x in range(3, int(sqrt(n))+1: is this a faster way to run the program

OpenStudy (anonymous):

My recommendation would be to try and make this program more useful. Try and make it into a function that has input n and output of the nth prime.

OpenStudy (anonymous):

... yep you only really have to check up to the square root - but that's just an optimization

OpenStudy (anonymous):

@ Tomas, no I didnt write it yet - but I ll give it a try. @ earthbound() - good suggestion with the sqrt, thnks thanks for yr comments!

Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!
Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!