python 判断奇偶数的三种方法
首页 > Learning > Programming   作者:eehello  2021年4月24日 20:09 星期六  浏览:4038  字号:   评论:0 条
时间:2021-4-24 20:09   浏览:4038  评论:0 条 

判断num是否为整数,num为整数。

方法一

使用%

num = 10
if (num % 2) == 0:
    print("{0} 是偶数".format(num))
else:
   print("{0} 是奇数".format(num))
   
 ----------------------------------------------------
 10 是偶数

方法二

优化方法一

'{} 是偶数'.format(num) if num % 2 == 0 else "{} 是奇数".format(num)
----------------------------------------------------
Out[32]: '10 是偶数'

方法三(推荐)

使用&位运算符,运算速度更快。

num = 10
if (num & 1) == 0:  # 注意这里的 & 1
   print("{0} 是偶数".format(num))
else:
   print("{0} 是奇数".format(num))
  
----------------------------------------------------
10 是偶数
   
'''优化代码'''
   
'{} 是偶数'.format(num) if num & 1== 0 else "{} 是奇数".format(num)

----------------------------------------------------
Out[35]: '10 是偶数'

原理
&是按位与运算符, 假如n=10转换二进制为0000 1010,1的二进制为0000 0001

   10 = 0000 0100
&   1 = 0000 0001
------------------
        0000 0000

   11 = 0000 1011 (不整除 2)                 28 = 0001 1100 (整除 2)
 &  1 = 0000 0001                         &  1 = 0000 0001
 ----------------                         ----------------
        0000 0001                                0000 0000

意思就是把n转换成二进制,然后看n二进制最后一位,如果最后一位为1的话,结果就是1,如果最后一位是0的话,那就是0。 & 相当于AND。
因为2的倍数的二进制最后一位都是0,所以n&1表达式跟n%2结果是一样的



 您阅读这篇文章共花了: 
 本文没有标签!
二维码加载中...
本文作者:eehello      文章标题: python 判断奇偶数的三种方法
本文地址:https://www.eehello.com/?post=283
版权声明:若无注明,本文皆为“点滴记忆---观雨亭”原创,转载请保留文章出处。

返回顶部| 首页| 手气不错| 留言板|后花园

Copyright © 2014-2023 点滴记忆---观雨亭