A community for students.
Here's the question you clicked on:
 0 viewing
lucifer
 4 years ago
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.
lucifer
 4 years ago
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.

This Question is Closed

maitre_kaio
 4 years ago
Best ResponseYou've already chosen the best response.0Explain the logic of this code. I see you're trying to do it recursively, but I need help to understand.

anonymous
 4 years ago
Best ResponseYou've already chosen the best response.0http://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.

lucifer
 4 years ago
Best ResponseYou've already chosen the best response.0Thank you, I can see why your code would work mortir, but I'm curious what was wrong with mine. Here is the logic

anonymous
 4 years ago
Best ResponseYou've already chosen the best response.0i get this traceback http://dpaste.com/695033/

lucifer
 4 years ago
Best ResponseYou've already chosen the best response.0I know. what does this mean? what should I do to my code?

maitre_kaio
 4 years ago
Best ResponseYou've already chosen the best response.0I 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
 4 years ago
Best ResponseYou've already chosen the best response.0But I said i = 3  first line.

maitre_kaio
 4 years ago
Best ResponseYou've already chosen the best response.0Warning: 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/pythonvariablescopenotes/ 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
 4 years ago
Best ResponseYou've already chosen the best response.0sigh ... 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...

lucifer
 4 years ago
Best ResponseYou've already chosen the best response.0wohooo... done it 7919 it was a small matter of increasing the recursion limit. did everyone do that or just me?

anonymous
 4 years ago
Best ResponseYou've already chosen the best response.0http://docs.python.org/reference/executionmodel.html don't think i tackled this one with recursion
Ask your own question
Sign UpFind more explanations on OpenStudy
Your question is ready. Sign up for free to start getting answers.
spraguer
(Moderator)
5
→ View Detailed Profile
is replying to Can someone tell me what button the professor is hitting...
23
 Teamwork 19 Teammate
 Problem Solving 19 Hero
 Engagement 19 Mad Hatter
 You have blocked this person.
 ✔ You're a fan Checking fan status...
Thanks for being so helpful in mathematics. If you are getting quality help, make sure you spread the word about OpenStudy.