Python 小练习 阶乘

很基础的一道题,不过做得很纠结.....

首先第一个是自己写的函数,不过没有按照课程要求来写,课程要求定义函数变量里面要带有x变量,不顾我自己写的没有,不过功能上测试是正常的

def factorial():
    sum=1
    x=int(input('please enter:'))
    if x<0:
        print ('wrong')
    elif x==0 or x==1:
        return 1
    else:
        for i in range(1,x+1):
            sum = sum*i
        print (sum)
   
factorial()


---------------------------------------------------------------------------------------分割线---------------------------------------------------------------------------------------------------------------------------------------

下面是看到网上别人用递归做的函数,也是题目本身要求的功能

def factorial(x):
    if x<0:
        print ('wrong enter')
    elif x==0 or x==1:
        return 1
    else:
        return x*factorial(x-1)



---------------------------------------------------------------------------------------分割线---------------------------------------------------------------------------------------------------------------------------------------

还有其他用循环实现的,写得也比我简介,不过没考虑到负数的情况

def f(n):
        c = 1
        for i in range(n+1):
           *= i
        return c






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值