zoukankan      html  css  js  c++  java
  • 如何判断能被2整除且不能被3整除

    以一个例子说明:求1~100之间能被2整除且不能被3整除的数。

    1. 采用 not num % 2 and num % 3 来判断

    >>> lst = [num for num in range(1,100) if not num % 2 and num % 3]
    >>> lst
    [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]
    >>> 

     疑问:为什么判断语句使用的是:not num % 2 and num % 3,而不是 num % 2 and not num % 3

     实际上 % 是求模的算数运算,得到的结果是一个整数。如果num % 2 结果为 0 说明能被2整除。
     在Python中 数值是可以被当作真/假值处理的,默认情况下,0 被当成False,非0的数值都当成True。

     可以用一句话概括:非空非0时为true;0或空时为false。

    2. 采用 num % 2 == 0 and num % 3  != 0  (推荐写法)

    >>> lst = [num for num in range(1,100) if num % 2 == 0 and num % 3 != 0]
    >>> lst
    [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]
    >>> 
  • 相关阅读:
    倍数求和
    最大(小)值
    数组扁平化:(多维数组 -> 一维数组)
    任意数求和
    找到重复最多项
    Linux 标准 I/O 库
    Linux文件操作函数
    Linux文件的IO操作 一
    Linux文件系统概述二
    Linux文件系统概述
  • 原文地址:https://www.cnblogs.com/huangbiquan/p/7868615.html
Copyright © 2011-2022 走看看