gpt4 book ai didi

Python3,被三整除,类型错误

转载 作者:行者123 更新时间:2023-12-01 02:54:49 30 4
gpt4 key购买 nike

这应该很简单。我想列出从 1 到 50 的所有能被 3 整除的数字:

a = [i for i in range(1,51) ]

[i for i in a % 3 == 0]
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-50-42b9611b86db> in <module>()
----> 1 [i for i in a % 3 == 0]

TypeError: unsupported operand type(s) for %: 'list' and 'int'

为什么我会收到此类型错误?

最佳答案

正如您可能想要的评论中所述:

>>> [i for i in range(1, 51) if i % 3 == 0]  # included an "if"
[3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48]

或者,您可以直接从修改后的范围创建它们:

>>> [3 * i for i in range(1, 51 // 3)]
[3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48]

>>> list(range(3, 51, 3))
[3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48]

在您的情况下,您会收到 TypeError 因为您使用 a % 3 并且 a 是一个 list不支持除法或模运算。

关于Python3,被三整除,类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44327014/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com