十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
import math
创新互联公司是一家以网络技术公司,为中小企业提供网站维护、成都做网站、网站建设、外贸营销网站建设、网站备案、服务器租用、国际域名空间、软件开发、成都微信小程序等企业互联网相关业务,是一家有着丰富的互联网运营推广经验的科技公司,有着多年的网站建站经验,致力于帮助中小企业在互联网让打出自已的品牌和口碑,让企业在互联网上打开一个面向全国乃至全球的业务窗口:建站来电联系:13518219792
n = int(input("请输入一个正整数:"))
# 计算阶层
result = math.factorial(n)
# 输出结果
print("{}! = {}".format(n, result))
在这段代码中,我们首先使用 input 函数从用户输入一个正整数。然后,我们使用 math.factorial 函数计算这个数的阶层。最后,我们使用 print 函数将计算结果输出到控制台。
请注意,在 Python 中,阶层是用感叹号(!)表示的。例如,5 的阶层是 5!,表示 1 * 2 * 3 * 4 * 5。
答: 在这里我的思路是利用Python函数同时接受多个参数,然后在函数的内部,它的功能是返回各输入参数对应的乘积。如下所示,可以使用*nums作为输入参数以同时接受多个参数。对应代码如下所示:
本次例子是对1,3,5,7和9进行累乘,本次的结果为945,如下所示,计算正确。
同样地,我们也可以使用其他例子进行测试,也可以得到正确的结果。
# -*- coding:utf-8 -*-
#py3
'''
用高级函数reduce()
'''
from functools import reduce
lis=[1,2,3,4,5]
r=reduce(lambda x,y:x*y,lis)#对序列lis中元素逐项相乘lambda用法请自行度娘
print(r)
reduce把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是:
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
比方说对一个序列求和,就可以用reduce实现,比如:
from functools import reduce
def add(x,y):
return x+y
reduce(add,[1,2,3])
#结果是6