By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
428,558 Members | 1,533 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 428,558 IT Pros & Developers. It's quick & easy.

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

P: n/a
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.
Jun 27 '08 #1
Share this Question
Share on Google+
2 Replies


P: n/a
On May 1, 5:21*pm, "Jordan Harry" <jha...@EmeryWeiner.orgwrote:
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
Jun 27 '08 #2

P: n/a
"Jordan Harry" <jh****@EmeryWeiner.orgwrites:
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
A function that does some calculations internally, but has no 'return'
statement and thus implicitly returns 'None'.
def perm(n, r):
a = factorial(n)
b = factorial(n-r)
These statements bind the 'None' returned by the 'factorial' function
to the names 'a' and 'b'.
q = a / b
This attempts to use the '/' operator on 'None' with 'None', which
raises the exception you saw.

(good sigmonster, have a cookie)

--
\ "Pinky, are you pondering what I'm pondering?" "I think so, |
`\ Brain, but Zero Mostel times anything will still give you Zero |
_o__) Mostel." -- _Pinky and The Brain_ |
Ben Finney
Jun 27 '08 #3

This discussion thread is closed

Replies have been disabled for this discussion.