9. 函数定义 1)编写阶乘函数,然后给定值,输出阶乘结果 2)尽量多的应用python对象、函数、表达式,根据1)中的阶乘函数,实现给定值n,输出1~n之间的能被3或7整除的所有数字、及这些数字分别对应的阶乘,以及所有数字的阶乘的和。
时间: 2024-10-14 10:03:07 浏览: 18
详谈Python基础之内置函数和递归
在Python中,我们可以先定义一个计算阶乘的函数,然后利用这个函数去生成符合条件的数字及其阶乘,并求和。以下是详细的步骤:
1) 定义阶乘函数(factorial):
```python
def factorial(n):
if n == 0 or n == 1:
return 1
else:
return n * factorial(n - 1)
```
这个函数会递归地计算输入数值n的阶乘。
2) 根据阶乘函数实现条件判断并输出结果:
```python
def find_numbers_and_factorials(n):
divisible_by_3_or_7 = [i for i in range(1, n + 1) if i % 3 == 0 or i % 7 == 0]
results = [(number, factorial(number)) for number in divisible_by_3_or_7]
sum_of_factorials = sum(factorial(num) for num in divisible_by_3_or_7)
return results, sum_of_factorials
# 示例:
n = 15
numbers_with_factors, total_sum = find_numbers_and_factorials(n)
print(f"能被3或7整除的数字及它们的阶乘: {numbers_with_factors}")
print(f"这些数字阶乘的和: {total_sum}")
阅读全文