运算符
01. 算数运算符
- 是完成基本的算术运算使用的符号,用来处理四则运算
- 在 Python 中
*
运算符还可以用于字符串,计算结果就是字符串重复指定次数的结果
In [1]: "-" * 50
Out[1]: '----------------------------------------'
02. 比较(关系)运算符
03. 逻辑运算符
a = True
print(a and 'a = T') # a = T
Python把0、空字符串’’、None看成False,其他数值和非空字符串都看成True
print('a = T' or 'a = R') # a = T
逻辑运算需要特别注意的是 and 和 or 运算时会发生短路现象
当 and 运算时,左边如果是False时,and 右边代码不再执行了
当 or 运算时,右边如果是True时,or 右边代码不再执行了
04. 赋值运算符
- 在 Python 中,使用
=
可以给变量赋值 - 在算术运算时,为了简化代码的编写,
Python
还提供了一系列的 与 算术运算符 对应的 赋值运算符 - 注意:赋值运算符中间不能使用空格
05. 运算符的优先级
- 以下表格的算数优先级由高到最低顺序排列
三种基本结构
- 在程序开发中,一共有三种基本结构,也叫三种流程方式:
- 顺序 —— 从上向下,顺序执行代码
- 分支 —— 根据条件判断,决定执行代码的 分支
- 循环 —— 让 特定代码 重复 执行
01. 顺序结构
代码从上向下,顺序执行代码
name = '小明'
weight = '90公斤'
sex = '男'
print('姓名是%s,性别是%s,体重是%s' % (name, sex, weight))
02. 选择结构
选择结构的定义
- 选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程
- 如果 条件满足,才能做某件事情,
- 如果 条件不满足,就做另外一件事情,或者什么也不做
比如我去北京,我可以选择坐飞机,也可以选择坐火车,也可以选择走路
1) if 判断语句基本语法
在 Python
中,if 语句 就是用来进行判断的,格式如下:
if 要判断的条件:
条件成立时,要做的事情
……
注意:代码的缩进为一个
tab
键,或者 4 个空格 —— 建议使用空格
i = 10
if i > 2:
print('我是最帅的')
print('打的去北京')
2) if-else 判断语句基本语法
if 要判断的条件:
条件成立时,要做的事情
……
else:
条件不成立时,要做的事情
……
i = 1
if i > 2:
print('我是最帅的')
else:
print('你们是最帅的')
print('打的去北京')
# 判断变量 f 是否存在
if 'f' in dir():
print('变量存在')
else:
print('变量不存在')
3) if-elif……-else 判断语句基本语法
# 一栋楼5层,一次只能按一个楼层
i = int(input('请按楼层:'))
if i == 2:
print('他去2楼')
elif i == 3:
print('他去3楼')
elif i == 4:
print('他去4楼')
else:
print('他去5楼')
4) if语句的嵌套使用
if 条件1:
if 条件2:
print('满足条件1,同时满足条件2')
else:
print('满足条件1,但是不满足条件2')
else:
print('不满足条件1')
猜拳游戏1
player = int(input('请出拳,剪刀(1)、石头(2)、布(3)'))
# 假设电脑只会出剪刀1
computer = 1
if computer == player:
print("平局")
elif player == 1 and computer == 2 or \
player == 2 and computer == 1 or \
player == 3 and computer == 2:
print("耶,赢啦")
else:
print("不行,我要跟你决战到天亮")
猜拳游戏2
-
在
Python
中,要使用随机数,首先需要导入 随机数 的 模块 —— “工具包”import random
-
导入模块后,可以直接在 模块名称 后面敲一个
.
然后按Tab
键,会提示该模块中包含的所有函数 -
random.randint(a, b)
,返回[a, b]
之间的整数,包含a
和b
-
例如:
random.randint(12, 20) # 生成的随机数n: 12 <= n <= 20 random.randint(20, 20) # 结果永远是 20 random.randint(20, 10) # 该语句是错误的,下限必须小于上限
import random player = int(input('请出拳,剪刀(1)、石头(2)、布(3)')) # 假设电脑只会出剪刀1 computer = random.randint(1, 3) if computer == player: print("平局") elif player == 1 and computer == 2 or \ player == 2 and computer == 1 or \ player == 3 and computer == 2: print("耶,赢啦") else: print("我要跟你决战到天亮")
03. 循环结构
循环结构,用来描述重复执行某段算法的问题 。循环结构可以看成是一个条件判断语句和一个向回转向语句的组合。
1) while 语句基本语法
初始条件设置
while 条件(判断条件是否为True):
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
处理条件(计数器 + 1)
注意:
while
语句以及缩进部分可以看成是一个 完整的代码块
# 小明上课看小人书,罚跑操场5圈
i = 1
while i <= 5:
# 要重复执行的代码
print("小明跑完第%d圈" %i)
i = i + 1
无限循环
无限循环就是循环里面条件永远都是为
True
,无止尽的循环下去!也叫死循环
程序员在写代码的时候,不小心,也容易写出死循环,死循环很消耗内存,容易死机挂掉
利用循环求和
- 计算 0 ~ 100 之间所有整数的和
# 计算 0 ~ 100 之间所有数字的累计求和结果
# 0. 定义一个变量存放计算结果
result = 0
# 1. 定义循环的变量
i = 0
# 2. 开始循环
while i <= 100:
# 循环体
# 每一次循环,都让 result 这个变量加上 i 这个值
result += i
# 循环变量值处理
i += 1
print("0~100之间整数的和是 = %d" % result)
- 计算 0 ~ 100 之间所有偶数的和
result = 0
# 1. 定义循环的变量
i = 0
# 2. 开始循环
while i <= 100:
# 循环体
# 每一次循环,判断这个数是否是偶数
if i % 2 == 0:
result += i
# 循环变量值处理
i += 1
print("0~100之间整数的和是 = %d" % result)
2) break 和 continue
break
和continue
是专门在循环中使用的关键字
break
某一条件满足时,退出循环continue
某一条件满足时,只是结束本次循环
打个比方,有个人上6天班,循环6次。某天生病请假,病好了继续上班就是用continue
;某天一睡不醒了,那就彻底不来上班了就是用break
在循环过程中,满足某个条件后,只是结束本次循环,使用 continue
i = 1
while i <= 6:
# 当星期三时生病请假一天
if i == 3:
i += 1
# continue 之前要记得时间变成星期四,否则一直在星期三死循环
continue
# 重复执行的代码
print(i)
i += 1
在循环过程中,满足某个条件后,需要彻底退出循环,使用 break
i = 1
while i <= 6:
# 星期三这天一睡不醒了,彻底不用上班了,break
if i == 3:
break
print(i)
i += 1
print("over")
3)while
循环嵌套
while
嵌套就是:while
里面还有 while
while 条件 1:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
while 条件 2:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
处理条件 2
处理条件 1
循环嵌套演练 —— 九九乘法表
print
函数的用法
-
在默认情况下,
print
函数输出内容之后,会自动在内容末尾增加换行 -
在使用
print
时,如果不希望换行,在使用print
函数时,第二参数给end=""
-
end=""
可以添加\t
,表示输出一个 制表符,协助在输出文本时 垂直方向 保持对齐 -
end=""
可以添加\n
,表示输出一个 换行符 -
语法格式如下:
# 向控制台输出内容结束之后,不会换行
print("*", end="")
# 单纯的换行
print("")
end=""
表示向控制台输出内容结束之后,不会换行
第 1 步:使用循环嵌套打印小星星
- 在控制台连续输出9行
*
,每一行星号的数量依次递增
# 定义第一行开始循环
row = 1
# 总共循环 9 次
while row <= 9:
# 定义每行第一列开始输出 *
col = 1
# 每行一个列输出一个 * ,一共输出几列,就看 col <= row 条件是否满足
while col <= row:
# 输出 * 不换行
print("*", end="")
col += 1
row += 1
# 只换行
print("")
- 使用字符串 * 打印
# 1. 定义一个计数器变量,从数字1开始,循环会比较方便
row = 1
while row <= 5:
print("*" * row)
row += 1
第 2 步: 九九乘法表
需求 输出 九九乘法表,格式如下:
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
开发步骤
-
- 将每一个
*
替换成对应的行与列相乘
- 将每一个
# 定义第一行开始循环
row = 1
# 总共循环 9 次
while row <= 9:
# 定义每行第一列开始输出 *
col = 1
# 每行一个列输出一个 * ,一共输出几列,就看 col <= row 条件是否满足
while col <= row:
# 输出 * 不换行
print("%d * %d = %d" % (row, col, row * col), end="\t")
col += 1
row += 1
# 只换行
print("")
2) for 语句基本语法
for跟while一样也可以实现循环,在Python中for循环可以遍历任何序列的项目,如一个列表(下节课会讲)或者一个字符串
for 临时变量 in 字符串或列表等:
执行代码块1
执行代码块2
执行代码块3
...(省略)...
str = "I love you,china"
for temp in str:
print(temp)