[Tutor] Calling a function does not return what I want it to return

Alexander Q. redacted@example.com
Fri Jul 20 02:15:27 CEST 2012


On Thu, Jul 19, 2012 at 4:21 PM, Dave Angel <d at davea.name> wrote:

> On 07/19/2012 06:58 PM, Alexander Q. wrote:
> > I have this little program that is supposed to calculate how many
> diagonals
> > a polygon of x sides has, but it does not return what I have in the
> > "return" part of the function when I call it. Here is the code:
> >
> > def num_diag(var):
> >   ans = 0
> >   if var <= 3:
> >     print("No diagonals.")
> >   else:
> >     for i in range(num_sides - 3):
> >       ans = ans + i
> >
> >   return (((var - 3)*2) + ans)
> >
> > num_sides = (int(raw_input("Enter sides: ")))
> > num_diag(num_sides)
> >
> >
> > Any suggestions as to what is going on? When I run it, it prompts me for
> > the number of sides, and that's it.
> > Thanks.
> >
> >
>
> You never use the return value.  Try assigning it, and printing it.
>
> result = num_diag(num_sides)
> print("final answer=", result)
>
> --
>
> DaveA
>
> That did it- thanks Dave!

-Alex
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20120719/286894e5/attachment.html>


More information about the Tutor mailing list
l>