【发布时间】:2021-06-27 08:07:10
【问题描述】:
我有列表和 k = 8(最大和)。我想添加总和等于或小于 k = 8 的列表元素,并且我只想要我添加的元素的数量。
我尝试过的:
lst = [1,2,3,4,7,9,12]
final = []
sum = 0
for i in range(len(lst)):
if sum < 8:
sum = sum +i
final.append(i)
print(final)
列表已排序。它可能未按用户输入排序。首先,我将对列表进行排序。然后我将检查条件并逐个添加并仅附加这些元素。
由于这段代码没有给出我想要的正确输出,我该怎么办?
【问题讨论】:
-
THe
for i in range()
仅给出数组中元素的索引。
你需要访问数组的元素。所以,有两种方法可以做到这一点。
1) ``` for i in range(len(arr)): arr[i] ``` or
2) ``` for i in arr: print(i) ``` where上面的循环可以用来访问数组中的元素。 -
避免使用
sum作为变量名。sum是 Python 中的关键字。 -
@Ram 是内置函数的名称,但不是关键字。如果它是一个关键字,那么 try 分配给它将是一个语法错误。
-
@kaya3 是的。这是一个内置功能。
标签: python python-3.x