Kill reduce().  A coproduction of John Reese, Jacques Frechet, and Alex M.
diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py
index bba4c7c..afcf113 100644
--- a/Lib/test/test_random.py
+++ b/Lib/test/test_random.py
@@ -77,7 +77,9 @@
         pop = range(n)
         trials = 10000  # large num prevents false negatives without slowing normal case
         def factorial(n):
-            return reduce(int.__mul__, xrange(1, n), 1)
+            if n == 0:
+                return 1
+            return n * factorial(n - 1)
         for k in xrange(n):
             expected = factorial(n) // factorial(n-k)
             perms = {}