You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter Notebook中Python代码无输出问题求助

问题分析与解决

我来帮你捋捋这个问题——你写的代码里循环压根没执行起来,所以total一直是初始值0,虽然print(total)会输出0,但显然这不是你预期的结果对吧?

问题根源

先看你写的while循环条件:

while i < len(given_list) and given_list[i] <= 0:

你的given_list第一个元素是7,而7 <= 0是False,and连接的条件只要有一个为False,整个条件就不成立,所以循环直接跳过,完全没执行里面的累加逻辑。

看列表里的元素,你应该是想累加所有负数?那这个循环条件完全写反了——你现在的逻辑是“只有当元素小于等于0时才进入循环”,但第一个元素是正数,循环直接终止,后面的负数根本没机会被处理。

修正方案

如果你想累加列表里的所有负数,有两种实用的写法:

写法1:调整循环逻辑,遍历所有元素并判断

given_list = [7, 5, 4, 4, 3, 1, -2, -3, -5, -7]
total = 0
i = 0
while i < len(given_list):
    # 只对小于等于0的元素进行累加
    if given_list[i] <= 0:
        total += given_list[i]
    i += 1
print(total)

写法2:用for循环更简洁(Python里更推荐的写法)

given_list = [7, 5, 4, 4, 3, 1, -2, -3, -5, -7]
total = 0
for num in given_list:
    if num <= 0:
        total += num
print(total)

运行这两段代码,都会输出-17(也就是-2 + (-3) + (-5) + (-7)的结果),这应该就是你想要的效果了。

内容的提问来源于stack exchange,提问作者bur407

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:14:14