运算符
数学符号表链接:
https://zh.wikipedia.org/wiki/
数学符号表
01.算数运算符 是完成基本的算术运算使⽤的符号,⽤来处理四则运算
运算符
描述实例
+ 加 10 + 20 = 30
- 减 10 - 20 = -10
* 乘 10 * 20 = 200
/ 除 10 / 20 = 0.5
// 取整除 返回除法的整数部分(商) 9 // 2 输出结果 4
% 取余数 返回除法的余数 9 % 2 = 1
** 幂 ⼜称次⽅、乘⽅,2 ** 3 = 8
在 Python 中 * 运算符还可以⽤于字符串,计算结果就是字符串重复指定次数的结果
In [1]: "-" * 50
Out[1]: ' '
02.⽐较(关系)运算符
运算符描述
== 检查两个操作数的值是否 相等,如果是,则条件成⽴,返回 True
!= 检查两个操作数的值是否 不相等,如果是,则条件成⽴,返回 True
> 检查左操作数的值是否 ⼤于 右操作数的值,如果是,则条件成⽴,返回 True
< 检查左操作数的值是否 ⼩于 右操作数的值,如果是,则条件成⽴,返回 True
>= 检查左操作数的值是否 ⼤于或等于 右操作数的值,如果是,则条件成⽴,返回 True
<= 检查左操作数的值是否 ⼩于或等于 右操作数的值,如果是,则条件成⽴,返回 True
Python 2.x 中判断 不等于 还可以使⽤ <> 运算符 != 在 Python 2.x 中同样可以⽤来判断 不等于
03.逻辑运算符 运算符
逻辑表达式描述
and x and y 只有 x 和 y 的值都为 True,才会返回 True否则只要 x 或者 y 有⼀个值为 False,就返回 False
or x or y 只要 x 或者 y 有⼀个值为 True,就返回 True只有 x 和 y 的值都为 False,才会返回 False
not not x 如果 x 为 True,返回 False如果 x 为 False,返回 True逻辑运算符也可以参与运算
In [1]: 1 and 2Out[1]: 2 In [1]: 1 or 2Out[1]: 1
04.赋值运算符 在 Python 中,使⽤ = 可以给变量赋值在算术运算时,为了简化代码的编写, Python 还提供了⼀系列的 与 算术运算符 对应的 赋值运算符注意:赋值运算符中间不能使⽤空格 运算符
描述实例
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c = a 等效于 c = c a
/= 除法赋值运算符 c /= a 等效于 c = c / a
//= 取整除赋值运算符 c //= a 等效于 c = c // a
%= 取 模 (余数)赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c = a 等效于 c = c a
05.运算符的优先级 以下表格的算数优先级由⾼到最低顺序排列 运算符 描述
** 幂 (最⾼优先级)* / % // 乘、除、取余数、取整除+ - 加法、减法<= < > >= ⽐较运算符== != 等于运算符= %= /= //= -= += = *= 赋值运算符not or and 逻辑运算符
循环01.程序的三⼤流程 在程序开发中,⼀共有三种流程⽅式:
顺序 —— 从上向下,
顺序执⾏代码分⽀ —— 根据条件判断,
决定执⾏代码的 分⽀循环 —— 让 特定代码 重复 执⾏
02. while 循环基本使⽤ 循环的作⽤就是让 指定的代码 重复的执⾏ while 循环最常⽤的应⽤场景就是 让执⾏的代码 按照 指定的次数 重复
执⾏需求:
—— 跟媳妇承认错误,说⼀万遍"媳妇⼉,我错了" print("媳妇⼉,我错了") print("媳妇⼉,我错了") print("媳妇⼉,我错了") ...(还有99997遍)...
2.1 while 语句基本语法
变量设置初始值while 条件(判断 变量是否满⾜条件): 条件满⾜时,做的事情1条件满⾜时,做的事情2 条件满⾜时,做的事情3...(省略)...修改变量
注意: while 语句中的缩进部分是⼀个 独⽴的代码块 第⼀个 while 循环使⽤循环语句⼀句话搞定
# 1. 定义重复次数计数器i = 1 # 2. 使⽤ while 判断条件while i <= 10000:# 要重复执⾏的代码print("媳妇⼉,我错了")# 处理计数器 i i = i + 1
死循环
由于程序员的原因,忘记 在循环内部 修改循环的判断条件,导致循环持续执⾏,程序⽆法终⽌!
2.2赋值运算符
在 Python 中,使⽤ = 可以给变量赋值
在算术运算时,为了简化代码的编写, Python 还提供了⼀系列的 与 算术运算符 对应的 赋值运算符
注意:赋值运算符中间不能使⽤空格
运算符 描述 实例
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c = a 等效于 c = c a
/= 除法赋值运算符 c /= a 等效于 c = c / a
//= 取整除赋值运算符 c //= a 等效于 c = c // a
%= 取 模 (余数)赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c = a 等效于 c = c a
2.3Python 中的计数⽅法常⻅的计数⽅法有两种,可以分别称为: ⾃然计数法(从 1 开始)—— 更符合⼈类的习惯程序计数法(从 0 开始)—— ⼏乎所有的程序语⾔都选择从 0 开始计数因此,⼤家在编写程序时,应该尽量养成习惯:除⾮需求的特殊要求,否则 循环 的计数都从 0 开始 2.4循环计算在程序开发中,通常会遇到 利⽤循环 重复计算 的需求需求计算 0 ~ 100 之间所有数字的累计求和结果
i = 1sum = 0while i <= 100: sum = sum + i
i += 1print("1~100的累积和为:%d"%sum)
需求进阶计算 0 ~ 100 之间 所有 偶数 的累计求和结果
i = 1sum = 0 while i<=100:if i % 2 == 0: sum = sum + ii+=1
03.break 和 continue break 和 continue 是专⻔在循环中使⽤的关键字 break 某⼀条件满⾜时,不再执⾏循环体中后续重复的代码,并退出循环 continue 某⼀条件满⾜时,不再执⾏本次循环体中后续重复的代码,但进⼊下⼀次循环判断
3.1break 在循环过程中,如果 某⼀个条件满⾜后,不 再希望 循环继续执⾏,可以使⽤ break 退出循环
i = 0 while i < 10: # break 某⼀条件满⾜时,退出循环,不再执⾏后续重复的代码# i == 3if i == 3:break print(i) i += 1print("over")
3.2continue
在循环过程中,如果 某⼀个条件满⾜后,不 希望 执⾏本次循环代码,但是⼜不希望退出循环,可以使⽤ continue
也就是:在整个循环中,只有某些条件,不需要执⾏循环代码,⽽其他条件都需要执⾏
i = 0 while i < 10: # 当 i == 7 时,不希望执⾏需要重复执⾏的代码if i == 7:# 在使⽤ continue 之前,同样应该修改计数器# 否则会出现死循环i += 1 continue # 重复执⾏的代码print(i) i += 1
需要注意:使⽤ continue 时,条件处理部分的代码,需要特别注意,不⼩⼼会出现 死循环
04. while 循环嵌套4.1循环嵌套 while 嵌套就是: while ⾥⾯还有 while
while 条件 1:条件满⾜时,做的事情1 条件满⾜时,做的事情2 条件满⾜时,做的事情3...(省略)... while 条件 2:条件满⾜时,做的事情1 条件满⾜时,做的事情2 条件满⾜时,做的事情3...(省略)... 处理条件 2 处理条件 1
4.2循环嵌套演练 —— 九九乘法表第 1 步:⽤嵌套打印⼩星星需求在控制台连续输出五⾏ * ,每⼀⾏星号的数量依次递增
***************
使⽤字符串 * 打印
# 1. 定义⼀个计数器变量,从数字1开始,循环会⽐较⽅便row = 1
while row <= 5: print("*" * row)
row += 1
第 2 步:使⽤循环嵌套打印⼩星星知识点 对 print 函数的使⽤做⼀个增强在默认情况下, print 函数输出内容之后,会⾃动在内容末尾增加换⾏如果不希望末尾增加换⾏,可以在 print 函数输出内容的后⾯增加 , end=""其中 "" 中间可以指定 print 函数输出内容之后,继续希望显示的内容语法格式如下:
# 向控制台输出内容结束之后,不会换⾏print("*", end="") # 单纯的换⾏print("")
end="" 表示向控制台输出内容结束之后,不会换⾏假设 Python 没有提供 字符串的 * 操作 拼接字符串需求在控制台连续输出五⾏ * ,每⼀⾏星号的数量依次递增
***************
开发步骤
1> 完成 5 ⾏内容的简单输出
2> 分析每⾏内部的 * 应该如何处理?
每⾏显示的星星和当前所在的⾏数是⼀致的
嵌套⼀个⼩的循环,专⻔处理每⼀⾏中 列 的星星显示
row = 1
while row <= 5: # 假设 python 没有提供字符串 * 操作# 在循环内部,再增加⼀个循环,实现每⼀⾏的 星星 打印col = 1 while col <= row: print("*", end="") col += 1 # 每⼀⾏星号输出完成后,再增加⼀个换⾏print("") row += 1
第 3 步: 九九乘法表需求 输出 九九乘法表,格式如下:
1 * 1 = 1
1 * 2 = 2 2 * 2 = 4
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4= 12 4 * 4= 16
1 * 5 = 5 2 * 5 = 10 3 * 5= 15 4 * 5 = 20 5 * 5= 25
1 * 6 = 6 2 * 6 = 12 3 * 6= 18 4 * 6 = 24 5* 6= 30 6* 6= 36
1 * 7 = 7 2 * 7= 14 3 * 7= 21 4 * 7= 28 5* 7= 35 6* 7= 42 7* 7= 49
1 * 8 = 8 2 * 8 = 16 3 * 8= 24 4 * 8= 32 5* 8= 40 6* 8= 48 7* 8= 56 8* 8= 64
1 * 9 = 9 2 * 9 = 18 3 * 9= 27 4 * 9= 36 5* 9= 45 6* 9= 54 7* 9= 63 8* 9= 72 9* 9= 81
字符串中的转义字符 \t 在控制台输出⼀个 制表符,协助在输出⽂本时 垂直⽅向 保持对⻬,但不会换⾏ \n 在控制台输出⼀个 换⾏符制表符 的功能是在不使⽤表格的情况下在 垂直⽅向 按列对⻬⽂本 转义字符 描述\ 反斜杠符号\' 单引号\" 双引号\n 换⾏\t 横向制表符\r 回⻋开发步骤
1.打印 9 ⾏⼩星星
*********************************************
1. 将每⼀个 * 替换成对应的⾏与列相乘
# 定义起始⾏row = 1 # 最⼤打印 9 ⾏while row <= 9:# 定义起始列col = 1 # 最⼤打印 row 列while col <= row:
# end = "",表示输出结束后,不换⾏
# "\t" 可以在控制台输出⼀个制表符,协助在输出⽂本时对⻬
print("%d * %d = %d" % (col, row, row * col), end="\t")
# 列数 + 1 col += 1
# ⼀⾏打印完成的换⾏
print("")
# ⾏数 + 1 row += 1
注意:break在嵌套循环中,只对最近的⼀层循环起作⽤