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

Prasad, Ramit ramit.prasad at jpmorgan.com
Fri Jul 20 01:17:56 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)
>


>>> num_diag(5)
NameError: global name 'num_sides' is not defined


`for i in range(num_sides - 3):`
Change num_sides to var.

Ramit

This email is confidential and subject to important disclaimers and
conditions including on offers for the purchase or sale of
securities, accuracy and completeness of information, viruses,
confidentiality, legal privilege, and legal entity disclaimers,
available at http://www.jpmorgan.com/pages/disclosures/email.  


More information about the Tutor mailing list