求序列的阶乘和。要求:在一行中给定一个数字序列,每个数字以逗号分隔;输出每个数字的阶乘之和。其中,阶乘功能必须用自定义函数实现。
注意:如果输入的是负数,将其取绝对值处理; 如果输入的数字为浮点数,将其转换成整数处理(直接取整,不考虑四舍五入)
输入样例:
2,3.2,3,-2.7,2.6
输出样例:
2!+3!+3!+2!+2!=18
python解析:
def cul(num):
sum = 1
for i in range(2, num + 1):
sum = sum * i
return sum
string = input()
mylist = string.split(',')
num = list(map(lambda x: int(float(x)), mylist))
sum = cul(num[0])
ans = str(num[0]) + "!"
for i in range(1, len(num)):
if (num[i] < 0): num[i] = -num[i]
sum = sum + cul(num[i])
ans = ans + '+' + str(num[i]) + "!"
ans = ans + "=" + str(sum)
print(ans)