【问题标题】:Please smb explain why the answer is 12, not 15? [duplicate]请 smb 解释为什么答案是 12,而不是 15? [复制]
【发布时间】:2020-07-01 22:44:24
【问题描述】:
def chek(x):
    if x%3==0:
        return False
    return True
a=sum([i for i in range(6) if chek(i)])
print(a)

【问题讨论】:

  • 为什么你认为结果应该是15?
  • 因为是 sum([1, 2, 4, 5])
  • 0到5有多少个数可以被3整除?这些是什么?他们应该从总数中排除吗?

标签: python python-3.x


【解决方案1】:
[i for i in range(6) if chek(i)]

产生[1, 2, 4, 5],省略03,因为它们除以3 时的余数为0,因此不包含在listcomp 输出中。 1、2、4、5之和为12。

【讨论】:

    猜你喜欢
    • 2013-05-26
    • 2017-03-02
    • 1970-01-01
    • 2016-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多