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

文章目录

  • 我的编程之路
  • 除法和求模
  • 布尔表达式
  • 逻辑运算符
  • 条件执行
  • 选择执行
  • 链式条件
  • 嵌套条件
  • 递归运算
  • 无穷递归
  • 键盘输入
  • 条件循环术语列表

我的编程之路

从玩耍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 "", 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,开发语言,后端)