lucifer
  • lucifer
Can someone explain what is wrong with this code that I get an error. I want to print the primes between 3 and 11. eventually I want to find the 1000th prime for pset01.
MIT 6.00 Intro Computer Science (OCW)
  • Stacey Warren - Expert brainly.com
Hey! We 've verified this expert answer for you, click below to unlock the details :)
SOLVED
At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.
schrodinger
  • schrodinger
I got my questions answered at brainly.com in under 10 minutes. Go to brainly.com now for free help!
lucifer
  • lucifer
here is my code
1 Attachment
maitre_kaio
  • maitre_kaio
Explain the logic of this code. I see you're trying to do it recursively, but I need help to understand.
anonymous
  • anonymous
http://pastebin.com/XRvYy0zu Here is a quick revision of your code. Take a look at the changes I made to it. You will be able to enter a number there and find it to be prime or not.

Looking for something else?

Not the answer you are looking for? Search for more explanations.

More answers

lucifer
  • lucifer
Thank you, I can see why your code would work mortir, but I'm curious what was wrong with mine. Here is the logic
1 Attachment
anonymous
  • anonymous
i get this traceback http://dpaste.com/695033/
lucifer
  • lucifer
I know. what does this mean? what should I do to my code?
maitre_kaio
  • maitre_kaio
I still don't understand what you're trying to do. But this error message means you are trying to use the variable i before having given an initial value to it. You have to initialize i before the while loop.
lucifer
  • lucifer
But I said i = 3 -- first line.
maitre_kaio
  • maitre_kaio
Warning: I am *not* saying it's good programming style. I'm just explaining where does this error comes from. Check this : http://www.saltycrane.com/blog/2008/01/python-variable-scope-notes/ You are using a variable named i inside a function, and another variable named i is defined in the global scope. If you want the interpreter to know that, inside the function, you are setting the global variable, you have to say it this way: global i If you do that, you have another error, not related to the first one: TypeError: unsupported operand type(s) for +: 'int' and 'str' Easy to fix by putting str() around i in the print statement. After that the program seems to run: http://pastebin.com/VS8kYf56 Doesn't produce good results though.
lucifer
  • lucifer
sigh ... I know it somehow thinks 9 is prime. Now this is my slightly better attempt using morfir's code -- explanation provided of course. The only problem is, it refuses to find ith primes for i>100. otherwise, it works fine. heh -- the wonderful world of incompetent newbie programming... please, can you explain what that error is. How can I understand what these errors mean in general -- maybe if I can see visually the program running line by line...
1 Attachment
lucifer
  • lucifer
wohooo... done it 7919 it was a small matter of increasing the recursion limit. did everyone do that or just me?
anonymous
  • anonymous
http://docs.python.org/reference/executionmodel.html don't think i tackled this one with recursion

Looking for something else?

Not the answer you are looking for? Search for more explanations.