微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何解释同一行中的运算符 modulo/% 和等式/==?

如何解决如何解释同一行中的运算符 modulo/% 和等式/==?

def has_lucky_number(nums):
      return any([num % 7 == 0 for num in nums])

解决方法

列表推导式(这是您需要搜索以了解其工作原理的实际术语,如果您还不知道的话)[num % 7 == 0 for num in nums] 将为您提供 True 或 {{1 }} 值,原始列表 False 中的每个数字对应一个。

每个条目都是 nums 当且仅当 True 中的相应条目是 7 的倍数,因为 nums 是将 x % 7 除以 7 的余数- 如果余数为零,则该数字是倍数。就读取表达式本身而言,x 在功能上等同于 num % 7 == 0,

例如,(num % 7) == 0 的原始列表将为您提供结果列表 [1,5,7,9,14,22],因为该列表中只有 [False,False,True,False]7 满足条件。

之后,如果列表中的任何元素为真,表达式 14 将返回 any(someList)

因此,给定的整个函数将简单地检测列表中的任何元素是否是 7 的倍数,在此代码的上下文中显然被认为是“幸运的”。

,

检查操作优先级的文档 https://docs.python.org/3/reference/expressions.html#evaluation-order

您可以在表中看到 mult/div(或 % modulo)出现在比较之前(== 和

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。