【问题标题】:How do I add elements of a set and print their sum?如何添加集合的元素并打印它们的总和?
【发布时间】:2019-06-01 15:48:06
【问题描述】:

如何添加集合的元素并打印它们的总和

我已经通过将集合转换为列表来做到这一点,这是他们的任何其他方式,而不是将集合转换为列表

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)

Traceback(最近一次调用最后一次):文件 “C:/Users/Usman/AppData/Local/Programs/Python/Python37/ddd.py”,行 5、在 z=(a1[x]) TypeError: 'set' 对象不可下标

我希望结果是 55

【问题讨论】:

    标签: python-3.x set


    【解决方案1】:
    >>> a = set(range(1, 10+1)) # a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    >>> sum(a)
    55
    >>>
    

    set 可迭代对象是无序的,因此没有索引。这解释了你得到的TypeError

    【讨论】:

    • 如果 10 + 1 为什么不是 11?
    • 这只是我输入10+1 的习惯,所以我记得range 以10 结束。
    • 什么是函数运算符?
    • 你的意思是呼叫接线员?
    • 可以链接相关部分吗?
    【解决方案2】:

    您可以使用sum 函数。

    a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    print(sum(a))
    

    【讨论】:

    • 你为什么不检查this呢?
    【解决方案3】:

    根据其他答案,sum 的用法对此非常有用。在不使用sum的情况下,OP 可能会尝试使用这样的构造,这在需要其他操作的上下文中可能很有用,而不仅仅是sum。所以我也在这里发布:

    >>> sum = 0
    >>> for item in a1:
    ...     sum += item
    ... 
    >>> print(sum)
    55
    >>> 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多