【Python】实现5!+4!+3!+2!+1!

Posted on 2015-10-20 08:56  Sunday是只喵  阅读(718)  评论(0编辑  收藏  举报
 1 #!/usr/bin/env python
 2 #-*- coding:utf-8 -*-
 3 def factorial_add(n):
 4     empty_list=[]   #定义一个空列表
 5     for i in map(lambda x:x+1,range(n)):   #用传进来的变量(n)来生成一个列表,用map让列表都+1,eg:range(5) => [1,2,3,4,5]
 6         a=reduce(lambda x,y:x*y,map(lambda x:x+1,range(i)))   #生成阶乘,用map去掉列表中的0
 7         empty_list.append(a)   #把阶乘结果append到空的列表empty_list中
 8     return empty_list
 9 
10 if __name__ == '__main__':
11     import sys
12 
13     try:
14         n = input("Enter a Number(int): ")
15         result = factorial_add(n)
16         print reduce(lambda x,y:x+y,result)   #阶乘结果相加
17     except (NameError,TypeError):
18         print "That is not a Number!"
19