今天碰到一道有意思的题目,看了之后发现自己对Python与或的理解还是欠缺,如下。
题目:求1+2+…+n
来源:Leetcode

如果不加限制,我们有很多方法计算该值,例如高斯公式,递归等。
我们思考下递归的解法:

    def sumNums_if(self, n: int) -> int:if not n: return nreturn n + self.sumNums_if(n-1)

即当n等于0的时候,开始自底向上返回。
那么,当限制了if语句的时候,我们如下实现这个判断呢?
实际上,我们可以使用and或者or运算符实现该操作,代码如下:

    def sumNums(self, n: int) -> int:return n and n + self.sumNums(n - 1)

and 运算符:每一项都为True,则整个表达式为True,当执行到某一个False项时,不再往后运行,直接返回False
or 运算符:与and不用的是,or运算符只要表达式中有一项为True,则整个表达式为True,即执行到某一个True项时,也不再向后执行,直接返回True
我们来看点例子:

1、二元运算

如果一个True,一个False或两个false:

return True and False # 返回Falsereturn True or False # 返回True

如果两边都是True,则and返回右边的,or返回左边的:

return 1 or 2 # 返回1return 1 and 2 # 返回2

2、多元运算:

从左到右,两两运算,两两运算时逻辑见上面二元运算

例如下面三句代码,第一句返回1,第二句返回3,第三句返回2

return 1 or 2 or 3 #返回1return 1 and 2 and 3 #返回3return 1 and 2 or 3 #返回2

我们在回头看下上面的and型递归实现,是不是豁然开朗了呢~

Python与或运算相关推荐

  1. python中的运算和运算符

    运算和运算符 运算: 由一个以上的值经过变化得到新值得过程,就是运算. 运算符: 用于运算的符号,就是运算符 运算的分类: 1.算数运算 2.比较运算/关系运算 3.赋值运算 4.逻辑运算 5.位运算 ...

  2. python 数字运算及格式化_Python基础教程(3)Python数据类型、运算与格式化

    一.Python的数据类型 主要分为了数字型和非数字型两个大类,其中数字型又包含整形(int).浮点型(float).布尔型(bool),而非数字分为字符串(str).列表(list).元组(tupl ...

  3. Python 取模运算(取余)%误区及详解

    Python 取模运算(取余)%误区及详解 首先,必须要先明确一个概念(针对新手),不要用数学求余数角度来思考模运算,python.Java等各种语言都有其不同的运行机制. python的模运算计算规 ...

  4. python中幂运算_python里幂运算

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! "**"运算这个"**"比较简单,就是标 ...

  5. python中幂运算_python的幂运算

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! "**"运算这个"**"比较简单,就是标 ...

  6. python中幂运算_python中幂运算

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! "**"运算这个"**"比较简单,就是标 ...

  7. Python解释器整数运算向下圆整问题

    trouble: reason: Python的整数运算重点是向下圆整结果,因此在结果为负数的情况下,圆整后将离0更远,故-10//3向下圆整到-4,而非向上圆整到-3

  8. python之算数运算

    python之算数运算 简单的加减乘除并不想计算.毕竟也不是小白. 只需要知道在python中 注意以下几点: 1.整数和浮点数运算最后结果肯定是浮点数.例如2*3.0=6.0 2.除法运算的结果一定 ...

  9. python取模运算_python取模操作

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 本文最先发布在:https:www.itcoder.techpostspytho ...

  10. Day2 Python数据类型与运算

    Day2 Python数据类型与运算 作业 1. 控制台打印出如下格式所示的内容 敌军还有5秒到达战场! print("*"32) print(" 敌军还有5秒到达战场! ...

最新文章

  1. C++构造函数与析构函数
  2. 《APUE》读书笔记—第十三章守护进程
  3. javascript操作dom的一些函数
  4. Python中fastapi构建的web项目使用.gitlab-ci.yml文件在KubeSphere中进行自动部署
  5. SSM药店管理系统的设计与实现答辩PPT模板
  6. PythonCookbook读书笔记
  7. andriod驱动之旅-a31s芯片-android环境
  8. 电子科技大学软件工程860考研专业课真题考频总结
  9. 怎样写一封得体的电子邮件
  10. iOS 模拟器 获取位置 设置自定义位置
  11. Elasticsearch嵌套式对象Nested分析
  12. 回归技术——我看中国软件的发展方向
  13. 如何用光盘映像文件重装服务器系统,光盘映像文件怎么安装,小编教你光盘映像文件怎么安装系统...
  14. EMV技术学习和研究(二)应用选择
  15. C语言数据的输入与输出
  16. 国际知名投资者法律顾问ROSEN鼓励Tarena International, Inc.投资者在TEDU证券集体诉讼的重要截止日期8月23日之前聘请律师
  17. oracle 在中国的合作伙伴名单(一)
  18. STC8H1K08 - INT3 - 下降沿触发外部中断 3
  19. 计算机专业答辩技巧,计算机专业毕业论文答辩技巧
  20. 轻松复制苏宁易购多个商品图片分类保存

热门文章

  1. 那些年踩过的坑——服务器中文路径
  2. ubuntu不能联网
  3. RxTools一款强大实用的工具类集合
  4. java pde_使用PDE求解器求解PDE的高初始值u
  5. 打工人赚钱的另外四块拼图 | 赚钱游戏
  6. 消息中间件activemq-5.14.1安全验证配置
  7. XYNUOJ1561-广告印刷
  8. 直接标价法 - 换汇时汇率的记录
  9. 创业一年来经历的技术风雨
  10. 滴滴第一季度共发生111起治安类案件 83%为乘客侵犯司机