【发布时间】:2018-05-17 09:07:55
【问题描述】:
given_list = [7, 5, 4, 4, 3, 1, -2, -3, -5, -7]
total = 0
i = 0
while i < len(given_list) and given_list[i] <= 0:
total += given_list[i]
i += 1
print(total)
我正在使用 Jupyter 笔记本并按照 youtube 上 CSdojo 的 Python 教程进行操作。我想知道为什么当我运行我的代码时,它之后的单元格没有产生输出(总计)?
【问题讨论】:
-
given_list[i]whereiis0解析为7这意味着您的 while 循环甚至没有启动,因为条件之一是given_list[i] <= 0。显然,7不小于或等于零。 -
这是一种非常尴尬的实现方式。考虑
sum(n for n in given_list if n <= 0) -
@DeepSpace
sum(n for n in given_list if n < 0)更短更快:) -
@Jean-FrançoisFabre 该死:D
-
@DeepSpace "nitpick" 是我的中间名 :)