如何添加集合中的元素并打印它们的总和
我已经通过将集合转换为列表的方式完成了此操作,而无需将集合转换为列表
a1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
x = 0
sum = 0
while x != 10:
z = list(a1)[x]
sum += z
x += 1
print(sum)
a1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
x = 0
sum = 0
while x != 10:
z = a1[x]
sum += z
x += 1
print(sum)
回溯(最近通话最近):文件 “ C:/用户/ Usman / AppData /本地/程序/Python/Python37/ddd.py”,行 5,在 z =(a1 [x])TypeError:“设置”对象不可下标
我希望结果是55
答案 0 :(得分:2)
>>> a = set(range(1, 10+1)) # a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
>>> sum(a)
55
>>>
set
迭代变量是无序的,因此没有索引。这就解释了您得到的TypeError
。
答案 1 :(得分:1)
您可以使用sum
函数。
a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
print(sum(a))
答案 2 :(得分:0)
根据其他答案,sum
的用法非常有用。但是,如果不使用sum
,OP可能会尝试使用这样的构造,这可能在需要其他动作的环境中很有用,而不仅仅是sum
。所以我也在这里发布:
>>> sum = 0
>>> for item in a1:
... sum += item
...
>>> print(sum)
55
>>>