# 一、 判断(关系)运算符
运算符 <, >, ==, >=, <= 和 != 将比较两个对象的值。 两个对象不要求为相同类型。
>>> 10 > 5
True
>>> 10 == 10
True
>>> 10 != 9
True
>>> 1 == True
True
>>> False == 0
True
>>> 1 == True
True
>>>
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 链式判断
# 二、 逻辑运算符和成员运算符
运算符 not
将在其后跟的 参数 为假值时产生 True
,否则产生 False
。
>>> not 0
True
>>> not ''
True
>>> not 'lenovo'
False
1
2
3
4
5
6
2
3
4
5
6
表达式 x and y
首先对 x 求值;如果 x 为假则返回 该值
;否则对 y 求值并返回 其结果值
。
>>> x = 0
>>> y = 1
>>> x and y
0
>>> 'lenovo' and y
1
>>>
1
2
3
4
5
6
7
2
3
4
5
6
7
表达式 x or y
首先对 x 求值;如果 x 为 真
则返回该 值
;否则对 y 求值并返回其 结果值
。
>>> 'lenovo' or y
'lenovo'
>>> '' or y
1
>>> x or y
1
>>>
1
2
3
4
5
6
7
2
3
4
5
6
7
# 请注意
and
和or
都不限制其返回的值和类型必须为False
和True
,而是返回最被求值的参数的值
。
# 三、 看清真假
在执行布尔运算的情况下,或是当表达式被用于流程控制语句时,以下值会被解析为假值:
False
,None
, 所有类型的数字零,以及空字符串和空容器(包括字符串、元组、列表、字典、集合与冻结集合)。
所有其他值都会被解析为真值。
# 四、if 判断语句
# 单分支
基本的语法格式:
if 条件语句: # 注意这里必须以英文的冒号结束
条件语句为真时,执行的语句
1
2
2
n = input("输入数字>>:")
n = int(n) # input 接收到的数据,都是字符串类型
if n == 5:
print('相等')
1
2
3
4
2
3
4
n = input("输入数字>>:")
n = int(n)
if n == 5:
print('相等')
else: # else 后边必须有英文的冒号
print('No')
1
2
3
4
5
6
2
3
4
5
6
# 多分支
基本语法
if 条件语句: # 注意这里必须以英文的冒号结束
条件语句为真时,执行的语句
elif 条件语句:
条件语句为真时,执行的语句
else:
前面的条件都为假,则执行此语句
1
2
3
4
5
6
2
3
4
5
6
elif
可以有多个
n = input("输入数字>>:")
# 必须输入数字来测试
n = int(n)
if n == 5:
print('ok')
elif n > 5:
print('大了')
else:
print('小了')
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 嵌套
n = input("输入数字>>:")
# n.isdigit() 用于判断 n 的值是否全部都是纯数字,
# 全部是数字才能使用 int() 转换, 比如: int("123") 可以转成 123
if n.isdigit():
f_n = int(n)
if f_n == 5:
print('ok')
elif f_n > 5:
print('大了')
else:
print('小了')
else:
print('请输入数字')
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 五、while 循环
基本语法
while 条件表达式:
条件表达式为真,则这些这里的语句
1
2
2
冒号
:
是必须的 缩进也是必须的
while True:
n = input("输入数字>>:")
n = int(n)
if n == 5:
print('相等')
break
elif n > 5:
print('大了')
else:
print('小了')
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
假设上面的小游戏,只能玩 3 次,如何处理?
m = 1
while m <= 3:
m += 1
n = input("输入数字>>:")
n = int(n)
if n == 5:
print('相等')
break
elif n > 5:
print('大了')
else:
print('小了')
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 七、 for 循环
基本语法
for 变量名 in 被循环的对象:
循环体
1
2
2
变量名是自定义的 被循环的对象也称为 可迭代对象 可迭代对象:
- 字符串
'kame'
- 列表
[1, 2, 'kame']
- 元组
(1, 2, 'kame')
- 集合
{1, 2 'kame'}
# 循环字符串对象
In [10]: s = 'kame'
In [11]: for i in s:
...: print(s)
...:
kame
kame
kame
kame
In [12]: for i in s:
...: print(i)
...:
...:
k
a
m
e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# range()
产生一个可被循环的整数序列,默认序列的元素从 0
开始.
用法:
range(开始索引号:结束索引号:步长)
>>> for i in range(3):
... print(i)
...
0
1
2
>>> for i in range(1, 3):
... print(i)
...
1
2
>>> for i in range(1, 10, 2):
... print(i)
...
1
3
5
7
9
>>>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
python3
>>> range(3)
range(0, 3)
1
2
2
python2.x
>>> range(3)
[0, 1, 2]
1
2
2
# break 和 continue
for i in range(0, 10):
print(i)
if i < 3:
inp_num = int(input(">>:").strip())
# inp_num = int(inp_num)
if inp_num == 15:
print('You get it')
break
elif inp_num > 15:
print("高了")
else:
print("低了")
else:
print("Game over")
break
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> for i in range(2, 10):
... if i == 4:
... continue
... print("循环到", i)
... if i == 6:
... break
...
循环到 2
循环到 3
循环到 5
循环到 6
>>>
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12