s = 0 a = [[1,2,3,4],[1,2],[2,3,1]] for b in a: s = 0 for c in b: if c is not None: s += float(c) else: print(s) 为什么没有打印出s
时间: 2024-04-22 18:26:27 浏览: 53
非常抱歉,我之前的解释有误。由于缩进错误,导致代码没有按预期执行。
在您提供的代码中,第一个 `for` 循环后的代码块没有正确缩进,导致第二个 `for` 循环和其下面的代码并不属于外层循环的代码块。这会导致内层循环的 `else` 块被执行,但 `s` 的值并未打印出来。
请将代码修改为以下形式,确保缩进正确:
```python
s = 0
a = [[1,2,3,4],[1,2],[2,3,1]]
for b in a:
s = 0
for c in b:
if c is not None:
s += float(c)
print(s)
```
这样修改后,每个子列表中非空元素的和 `s` 将会被正确计算并打印出来。
非常抱歉给您带来困扰,如果还有其他问题,请随时提问。
阅读全文