[Tutor] Calling a function does not return what I want it to return
Dave Angel
d at davea.name
Fri Jul 20 01:21:04 CEST 2012
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
More information about the Tutor
mailing list