程序题) 编写程序,输出 1×2×3+3×4×5+5×6×7+...+99×100×101的值。 Python 3.x用12种方法
时间: 2024-05-21 20:13:02 浏览: 11
1. 使用循环和累乘:
result = 1
for i in range(1, 102, 2):
result *= i * (i + 1) * (i + 2)
print(result)
2. 使用math库的factorial函数:
import math
result = 1
for i in range(1, 102, 2):
result *= math.factorial(i) * math.factorial(i + 1) * math.factorial(i + 2)
print(result)
3. 使用reduce函数和lambda表达式:
from functools import reduce
result = reduce(lambda x, y: x * y, [i * (i + 1) * (i + 2) for i in range(1, 102, 2)])
print(result)
4. 使用列表推导式和reduce函数:
from functools import reduce
result = reduce(lambda x, y: x * y, [i * (i + 1) * (i + 2) for i in range(1, 102, 2)])
print(result)
5. 使用map函数和lambda表达式:
from functools import reduce
result = reduce(lambda x, y: x * y, map(lambda i: i * (i + 1) * (i + 2), range(1, 102, 2)))
print(result)
6. 使用生成器表达式和reduce函数:
from functools import reduce
result = reduce(lambda x, y: x * y, (i * (i + 1) * (i + 2) for i in range(1, 102, 2)))
print(result)
7. 使用生成器函数和reduce函数:
from functools import reduce
def gen():
for i in range(1, 102, 2):
yield i * (i + 1) * (i + 2)
result = reduce(lambda x, y: x * y, gen())
print(result)
8. 使用列表和reduce函数:
from functools import reduce
lst = [i * (i + 1) * (i + 2) for i in range(1, 102, 2)]
result = reduce(lambda x, y: x * y, lst)
print(result)
9. 使用map函数和乘法操作符:
from functools import reduce
result = reduce(lambda x, y: x * y, map(lambda i: i * (i + 1) * (i + 2), range(1, 102, 2)))
print(result)
10. 使用生成器表达式和乘法操作符:
result = 1
for i in (i * (i + 1) * (i + 2) for i in range(1, 102, 2)):
result *= i
print(result)
11. 使用列表和乘法操作符:
lst = [i * (i + 1) * (i + 2) for i in range(1, 102, 2)]
result = 1
for i in lst:
result *= i
print(result)
12. 使用循环和乘法操作符:
result = 1
for i in range(1, 102, 2):
result *= i * (i + 1) * (i + 2)
print(result)