美文网首页
if not(i % 2) and (i % 3)真假问题

if not(i % 2) and (i % 3)真假问题

作者: YoYoYoo | 来源:发表于2019-07-05 16:05 被阅读0次

    求100以内能被2整除却不能被3整除的数

    >>> a = [i for i in range(100) if not (i % 2) and (i % 3)]
    >>> a
    [2, 4, 8, 10, 14, 16, 20, 22, 26, 28, 32, 34, 38, 40, 44, 46, 50, 52, 56, 58, 62, 64, 68, 70, 74, 76, 80, 82, 86, 88, 92, 94, 98]
    

    Python中的真假测试对于整数而言,0为假,非0为真。
    所以,这里的 not (i % 2) 为真的条件是:i % 2 为假,即 i % 2 == 0 ,即 i 能被 2 整除;i % 3 为真的条件是:i % 3 为非 0,即 i % 3 != 0,即 i 不能被 3 整除。

    还有一个字典的小例子:

    >>> b = {i:i % 2 == 0 for i in range(10)}
    >>> b
    {0: True, 1: False, 2: True, 3: False, 4: True, 5: False, 6: True, 7: False, 8: True, 9: False}
    

    相关文章

      网友评论

          本文标题:if not(i % 2) and (i % 3)真假问题

          本文链接:https://www.haomeiwen.com/subject/jeeehctx.html