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

Alexander Q. redacted@example.com
Fri Jul 20 00:58:42 CEST 2012


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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20120719/4f751682/attachment.html>


More information about the Tutor mailing list
l>