例2:Sn = 1! + 2! + 3! + 4! + 5! 不改变程序结构 不添加删除语句 只修改语句 ''' i , arr , s = 1 , 1 , 0 while arr < 100: i, arr , s = i + 1 , arr * (i+1) , s + arr print('s =',s) '''E0 分别使用程序语句和列表推导编程实现如下要求: (两者都用到才能得满分,只做1个只能得一半分) 输出如下所示
时间: 2024-02-07 18:02:53 浏览: 67
《多分支结构程序设计》公开课.pptx
程序语句实现:
```python
i, arr, s = 1, 1, 0
while i <= 5:
s += arr
i += 1
arr *= i
print('s =', s)
```
列表推导实现:
```python
import math
s = sum(math.factorial(n) for n in range(1, 6))
print('s =', s)
```
两者输出结果都为:
```
s = 153
```
程序语句实现中,使用了一个 while 循环,每次循环将阶乘加到 s 变量中,同时更新 i 和 arr 变量,直到 i 大于 5 时退出循环。
列表推导实现中,使用了 `math.factorial()` 函数来计算阶乘,然后使用列表推导将阶乘相加,最后使用 `sum()` 函数求和。
阅读全文