新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
total = 1
创新互联建站主要从事网站设计制作、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务环县,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
for num in range(1,101):
if num % 2 == 0:
total = total * num
print(total)
#其实一楼答案基本都对了,就是range默认是从0开始的,
#而0对2的求余也是0,所以答案永远是0,设置一个开始值为1,或者2就行了
第一种:普通的for循环
第二种:reduce()函数
第三种:factorial()函数
第四种:递归调用
以下提供两种方法 供参考,第一种方式为自己构造求阶乘的函数,第二种则直接使用了Python标准库,代码如下:
一、
自己构造阶乘函数
from functools import reduce
def factorial(n):
l = range(1,n+1)
result = reduce(lambda x,y:x*y,l)
return result
for i in range(1,6): print('{}! = {}'.format(i, factorial(i)))
二、
Python标准库
from math import factorial
for i in range(1,6):
print("{}! = {}".format(i,factorial(i)))
两段程序输出一样,如下: