求给定整数 n 的阶乘,如:5!=120。
要求:
整数n由用户输入;(需注意类型问题)
分别用 循环 和 函数递归 来实现。
依次求1~10的阶乘,结果储存在列表中。
求给定整数 n 的阶乘,如:5!=120。
要求:
整数n由用户输入;(需注意类型问题)
分别用 循环 和 函数递归 来实现。
依次求1~10的阶乘,结果储存在列表中。
可以参考如下代码:
def factorial_cycle(n):
"""循环实现阶乘"""
result = n
for i in range(1, n):
result *= i
return result
def factorial_recursion(n):
if n == 1:
return 1
else:
return n * factorial_recursion(n-1)
if __name__ == '__main__':
num = int(input('请输入要计算阶乘的数字:'))
print(factorial_cycle(num))
print(factorial_recursion(num))
# 依次求1~10的阶乘,结果储存在列表中
# 定义列表保存结果
cys_list = []
recursion_list = []
for i in range(1, 11):
cys_list.append(factorial_cycle(i))
recursion_list.append(factorial_recursion(i))
print(cys_list)
print(recursion_list)
运行结果如下: