python问题求助
这一道题,除了while循环外。能不能用 for 循环语句或者是其他方法来做? 本帖最后由 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 : ')))) 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}') 还可以用迭代的方法
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}') lassiter 发表于 2022-10-9 00:21
还可以用迭代的方法
lz问的是用for怎么写啊 递归法
def solve(n):
if n==0:return 1
return solve(n-1)*n
solve(int(input()))
可以用通项公式{:10_254:}
页:
[1]