TypeError: unsupported operand type(s) for /: 'NoneType' and 'NoneType'

Sean DiZazzo half.italian at gmail.com
Thu May 1 21:17:37 EDT 2008


On May 1, 5:21 pm, "Jordan Harry" <jha... at EmeryWeiner.org> wrote:
> I'm trying to write a simple program to calculate permutations.  I created a file called "mod.py" and put the following in it:
>
> def factorial(n):
>     a = n
>     b = n
>     while a>0 and b>1:
>         n = (n)*(b-1)
>         b = b-1
>
> def perm(n, r):
>     a = factorial(n)
>     b = factorial(n-r)
>     q = a / b
>     print q
>
> Then I went back to IDLE and input the following:
>
> >>> import mod
> >>> mod.perm(5, 4)
>
> I recieved the following error message:
>
> Traceback (most recent call last):
>   File "<pyshell#1>", line 1, in <module>
>     mod.perm(5, 4)
>   File "C:\Python25\mod.py", line 27, in perm
>     q = a / b
> TypeError: unsupported operand type(s) for /: 'NoneType' and 'NoneType'
>
> I have no idea how to fix it.  I'm pretty new to Python.  I have IDLE 1.2.2 and Python 2.5.2,
>
> Please help.

Your factorial function needs to return something.

~Sean



More information about the Python-list mailing list