鱼C论坛

 找回密码
 立即注册
查看: 3277|回复: 6

[已解决]python问题求助

[复制链接]
发表于 2022-10-8 23:15:42 | 显示全部楼层 |阅读模式
8鱼币
这一道题,除了while循环外。能不能用 for 循环语句或者是其他方法来做?
最佳答案
2022-10-8 23:15:43
本帖最后由 jackz007 于 2022-10-9 12:27 编辑

        for 循环
m = 1
for k in range(int(input('输入 n : ')) , 0 , -1) : m *= k
print(m)
        递归函数
def foo(n) : return n * foo(n - 1) if n else 1
print(foo(int(input('输入 n : '))))
1.png

最佳答案

查看完整内容

for 循环 递归函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-8 23:15:43 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2022-10-9 12:27 编辑

        for 循环
m = 1
for k in range(int(input('输入 n : ')) , 0 , -1) : m *= k
print(m)
        递归函数
def foo(n) : return n * foo(n - 1) if n else 1
print(foo(int(input('输入 n : '))))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-9 00:14:07 | 显示全部楼层
n=int(input('请输入一个非负整数:'))
result=1
a=n
if a==0:
    result=1
elif a<0:
    print('请输入非负整数!')
else:
    while a>0:
        result=result*a
        a-=1
        
print(f'{n}!的结果为{result}')

评分

参与人数 1荣誉 +4 鱼币 +5 贡献 +2 收起 理由
2397293790 + 4 + 5 + 2

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-9 00:21:26 | 显示全部楼层
还可以用迭代的方法
def jiecheng(n):
    if n>1:
        return n*jiecheng(n-1)
    else:
        return 1
    
n=int(input('请输入一个非负整数:'))

if n==0:
    result=1
elif n<0:
    print('请输入非负整数!')
else:
    result=jiecheng(n)
        
print(f'{n}!的结果为{result}')

评分

参与人数 1鱼币 +5 收起 理由
2397293790 + 5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-9 01:35:52 | 显示全部楼层
lassiter 发表于 2022-10-9 00:21
还可以用迭代的方法

lz问的是用for怎么写啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-9 07:39:42 From FishC Mobile | 显示全部楼层
递归法
def solve(n):
    if n==0:return 1
    return solve(n-1)*n

solve(int(input()))

评分

参与人数 1鱼币 +4 收起 理由
2397293790 + 4

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-9 10:53:46 | 显示全部楼层
可以用通项公式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-14 09:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表