Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Python Python Basics Functions and Looping Create a Function

horus93
horus93
4,333 Points

EOF error in challenge, code runs fine in workspace

So I saw another post regarding a similar problem that didn't answer my question so here's mine.

"Create a function named square. It should define a single parameter named number.

In the body of the function return the square of the value passed in."

From what I could tell, and running it seems to do what the question's asking for. I created the function named square, defining only a single parameter named number, and return the square of the value passed in by the users input. Oddly it passes the first test ok, and the second one returns the EOF error. Maybe there's a different way it's wanting me to do things and I'm just misunderstanding the ask in this particular challenge?

squaring.py
import math

def square (number):
    return math.ceil(number * number)

number = float(input("What number would you like to square?  "))

squared = square(number)

print ("Your number squared equals {}".format(squared))

2 Answers

Jennifer Nordell
seal-mask
STAFF
.a{fill-rule:evenodd;}techdegree
Jennifer Nordell
Treehouse Teacher

Hi there, horus93 ! I can see that you've worked hard on this and you're doing great. But keep in mind that these challenges aren't a full-fledged program. Treehouse is going to call that function and send in a number. They expect to get back the result of that number squared. Doing things like using an input will likely cause the challenge to break. Remember, there's no one on the other side to input anything. You've also printed out the result and formatted it neatly, but again, this was not asked for by the challenge. Doing things that are not asked for can cause the challenge to break even if they are functional outside of the challenge.

Here's a list of things you will not need:

  • the import of the math library
  • math.ceil
  • a print statement
  • an input statement

You will also need to change the squared variable to result as asked for in the second step. In that step, you will send in a concrete number like 10 or 7 instead of trying to get the number from the user.

Mainly, the problem here lies in doing things that are not asked for by the challenge. I feel like you can get it with these tips, but let me know if you're still stuck! :sparkles:

horus93
horus93
4,333 Points

Haha thanks, as usual I was over thinking things, and after a day of work I came home with my brain too tired to process things properly (for some reason I was scanning over the word "not" in your list of things I would not need, and just reading it as "Here's a list of things you will need", so basically slapping my head against a wall until I reread your post this morning and fixed the issue allowing me to continue onward and upward!

Thanks Jennifer!