ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

『Python 自学笔记』重新认识条件循环

2021-11-16 12:34:39  阅读:148  来源: 互联网

标签:语句 重新认识 递归 Python 运算符 条件 自学 执行 True


文章目录

我的编程之路

从玩耍Excel表格到MySQL数据仓库,之后进入数据分析的天坑,然后再到大数据平台HIVE、Hbase。接着Django Web全栈开发。在走过这一圈之后,很多的内容学习都是碎片化的,在未来一段时间找几本书籍系统的学习一下,顺便做个笔记给后来的学生。

if语句,就是条件判断,会对应程序的不同状态来执行不同的代码。

除法和求模

  • 传统除法 /
>>> minutes = 105 
>>> minutes / 60 
1.75
  • floor除法 运算符是两个右斜杠://
>>> minutes = 105 
>>> hours = minutes // 60 
>>> hours 
1
  • 获取分钟数
# 方法1
>>> remainder = minutes % 60 
>>> remainder 
45

# 方法2
>>> remainder = minutes % 60 
>>> remainder 
45
  • 判断整除
if x%y == 0:
	print("可以被整除")

布尔表达式

布尔表达式是一种非对即错的表达式,只有这么两个值,true(真)或者false(假)。

>>> 5 == 5 
True 
>>> 5 == 6 
False

True和False都是特殊的值,属于bool布尔类型,并不是字符串。

>>> type(True) 
<class 'bool'>  
>>> type(False) 
<class 'bool'>

双等号运算符是关系运算符的一种

x != y    # 二者相等     
x > y    # 前者更大     
x < y    # 前者更小  
x >= y    # 大于等于        
x <= y    # 小于等于

逻辑运算符

逻辑运算符有三种:且,或以及非。

# 逻辑且
>>> 42 and True 
True

# 逻辑或
>>> 42 or True 
True

#逻辑非
>>> 42 and False
False

逻辑运算符的运算对象应该必须是布尔表达式,不过Python就不太严格。任何非零变量都会被认为是真。

>>> 12 and True 
True

条件执行

有用的程序必然要有条件检查判断的功能,根据不同条件要让程序有相应的行为。

if x > 0:
    执行语句

如果暂时不知道执行什么语句的话可以使用pass暂时跳过

if x > 0:
    pass

选择执行

根据条件进行执行语句,这些选择也叫分支。

if x % 2 == 0:
    执行语句1
else:
    执行语句2

链式条件

有时我们要面对的可能性不只有两种,需要更多的分支。

通常会使用 elif,是else if的缩写。

if x < y:     
    执行语句1
elif x > y:     
    执行语句2
else:     
    执行语句3

嵌套条件

一个条件判断也可以嵌套在另一个条件判断内。

if x == y:
    执行语句1
else:
    if x < y:
        执行语句2
    else:
        执行语句3

递归运算

一个函数可以去调用另一个函数也可以用来调用自身。

def countdown(n):
    if n <= 0:
        执行语句1
    else:
        执行语句2
        countdown(n-1)
        
>>> countdown(3)
3
2
1
Blastoff!

无穷递归

如果一个递归一直都不能到达基准条件,那就会持续不断地进行自我调用,程序也就永远不会终止了。

也可以认为程序是死循环。

# 没有任何停止条件 陷入死循环
def recurse():
    recurse()

当Python会在函数达到允许递归的最大层次后返回一个错误信息

File "<stdin>", line 2, in recurse
RuntimeError: Maximum recursion depth exceeded

代码对比

recurse()

# 等价于

for i in range(1001):
    recurse()

键盘输入

Python提供了内置的一个函数,名叫input,这个函数会停止程序运行,等待用户来输入一些内容。

>>> text = input()
嘿嘿嘿,输入吧。
>>> text
嘿嘿嘿,输入吧。

条件循环术语列表

  • 地板除法(floor division):一种运算符,双右斜杠,把两个数相除,舍弃小数位,结果为整形。
  • 求模取余(modulus operator):一种运算符,百分号%,对整形起作用,返回两个数字相除的余数。
  • 布尔表达式(boolean expression):一种值为真或假的表达式。
  • 关系运算符(relational operator):对比运算对象关系的运算符:==相等, !=不等, >大于, <小于, >=大于等于, 以及<=小于等于。
  • 逻辑运算符(logical operator):把布尔表达式连接起来的运算符:and且,or或,以及not非。
  • 条件语句(conditional statement):控制运行流程的语句,根据不同条件有不同语句去运行。
  • 条件(condition):条件语句所适用的布尔表达式,根据真假来决定运行分支。
  • 复合语句(compound statement):包含头部与语句体的一套语句组合。头部要有冒号做结尾,语句体相对于头部要有一次缩进。
  • 分支(branch):条件语句当中备选的一系列语句。
  • 链式条件(chained conditional):一系列可选分支构成的条件语句。
  • 嵌套条件(nested conditional):条件语句分支中继续包含次级条件语句的情况。
  • 返回语句(return statement):一种特殊的语句,功能是终止当前函数,立即跳出到函数调用者。
  • 递归(recursion):函数对自身进行调用的过程。
  • 基准条件(base case:):递归函数中一个条件分支,要实现终止递归调用。
  • 无穷递归(infinite recursion):一个没有基准条件的递归,或者永远无法达到基准条件的递归。一般无穷递归总会引起运行错误。

标签:语句,重新认识,递归,Python,运算符,条件,自学,执行,True
来源: https://blog.csdn.net/qq_20288327/article/details/121352020

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有