[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>