odd 代表奇数, even 代表偶数, 下面代码全部使用is_odd, 判断输入的值是不是奇数, 是奇数返回True, 否则返回False

最常用的办法就是直接取模判断:

def is_odd(n):

# 余数是 1 就是奇数, 否则是偶数

return n % 2 == 1

当然也可以用位运算, 这里需要知道的是, 一个十进制表示的数字如果是奇数的话, 在二进制下最后一位一定是 1, 否则最后一位是 0, 举个例子, 3 在二进制里面是0011, 4 在二进制里是0100

所以可以用与门(&), 然后和 1 比较:

def is_odd(n):

# 比如 4 & 1 (0100 & 0001) => 0

return bool(n & 1)

也可以用异或门(^), 这个运算符的比较方法是两个二进制数字某个位不同时返回 1, 否则返回 0. 所以比较有意思的地方就是二进制(0 或 1)下的一个数字x, 和 0 进行异或门运算一定返回x, 和 1 进行异或门运算一定返回的是本身取反!x. 所以我们可以直接拿一个数和 1 进行异或门运算, 前面一定不变, 就看最后一位, 偶数就是从 0 变成 1, 整体数字就是加一, 奇数就是从 1 变成 0, 整体数字就是减一:

def is_odd(n):

# 比如 3 & 1 (0011 & 0001) => 0010

return n ^ 1 == n - 1

还可以用位运算符, >>右移运算符和<<左移运算符, 和 1 进行操作, 右移相当于除以 2 取商(或者叫向下取整) , 左移就是乘以 2, 这里不展开

def is_odd(n):

# 比如 (5 >> 2) << 2 => 4, 所以用原来的数减去结果要么是 1 要么是 0

return bool(n - ((n >> 1) << 1))

或者用一些奇淫技巧, 比如下面这种:

def is_odd(n):

# 奇数返回 -1, 偶数返回 1

return (-1)**n == -1

总之方法一堆...但是第一个取模应该最常用吧, 后面几个知道理解就行, 平时还是少些那种代码...

python奇数和_请问python如何判断奇偶数?相关推荐

  1. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  2. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  3. 【青少年编程】【三级】判断奇偶数

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...

  4. 1119: 零起点学算法26——判断奇偶数

    1119: 零起点学算法26--判断奇偶数 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lld Submitted: 2419 ...

  5. 【电子学会】2019年12月图形化三级 -- 判断奇偶数

    判断奇偶数 1. 准备工作 (1)导入角色Cat Flying.Apple.Bananas: (2)保留白色背景. 2. 功能实现 (1)点击绿旗,Cat Flying询问"请输入一个正整数 ...

  6. linux c判断奇偶数据,c语言怎么判断奇偶数

    c语言怎么判断奇偶数? 第一步:首先先打开我们的DEV C++软件,然后点击"新建源代码". 推荐:<C语言教程> 第二步:在我们的编辑页面输入以下代码:#includ ...

  7. python希腊字母字符串_#10 Python字符串

    前言 通过上一节可知,Python6个序列的内置类型中,最常见的是列表和元组,但在Python中,最常用的数据类型却不是列表和元组,而是字符串.要想深入了解字符串,必须先掌握字符编码问题.因此本篇博文 ...

  8. python deepcopy函数_用Python解数独[6]:递归获得最终答案

    目录 用Python解数独[0] 用Python解数独[1]:求每个单元格的行值域 用Python解数独[2]:求列值域和九宫格值域 用Python解数独[3]:求总值域 用Python解数独[4]: ...

  9. python集群_使用Python集群文档

    python集群 Natural Language Processing has made huge advancements in the last years. Currently, variou ...

最新文章

  1. HDU4008 Parent and son [树形DP]
  2. linux printf 刷新,linux下printf中\n刷新缓冲区的疑问(已解决)
  3. Tomcat应用部署:打war包、在Tomcat中注册用户角色、创建虚拟目录和域名
  4. STM32F103_IWDG独立看门狗
  5. python基础其他(二十一)
  6. IBM大力抢占网络宣传阵地,拿下百度“SOA”关键字的第一位
  7. 客户说发货慢怎么回复_给客户发完报价没回复,怎么办?
  8. 虚拟机无法安装VMware Tools
  9. 「数字电子技术基础」6.触发器
  10. AUFN Carplay盒子固件级视频及图文教程!
  11. 项目管理技术和工具TT
  12. JavaSE学习笔记-0225-ArrayList+案例
  13. Python实现支持向量机(基于双月数据集)
  14. 前端js实现表格数据的上移下移
  15. VBA - 粘贴为数值型
  16. java计算平面度,计算产品面的平面度和平行度(C#代码)
  17. web3创业合伙人招募!!!
  18. hashmap扩容过程,如何才能更容易拿到大厂Offer?挥泪整理面经
  19. 变频器的工作原理和功能应用
  20. [源码和文档分享]基于Java Swing JFream 组件的趣味推箱子小游戏

热门文章

  1. 微服务开源项目ServiceComb 毕业成为Apache顶级项目
  2. Hadoop- Hadoop运维小计
  3. MyBatis魔法堂:ResultMap详解
  4. 2.3 使用 dom4j 对 xml文件进行 dom 解析
  5. 数学与当代生命科学(吴家睿)
  6. 数据仓库专题18-数据建模语言IDEF(转载)
  7. android中volley通信框架简介
  8. Scenario 7 – HP C7000 VC FlexFabric Tunneled VLANs and SUS A/A vSphere
  9. linux特殊符号大全
  10. 传输文件过程中遇到异常被中断