程序控制结构
-
条件表达式
python 运算符可以连续使用
>>> print(1<2<3) True >>> print(1<2>4) False >>> print(1<3>2) True
条件表达式中不允许使用赋值运算
=
可使用测试运算符:in、not in、is、is not
逻辑运算符:and、or、not,注意短路求值
位运算符:~、&、|、 ^、 <<、>>
矩阵乘法运算符:@
>>> 0 or 6 6 >>> 1 or 3 1 >>> not 5 False >>> not '' True >>> '' and 'i' '' >>> 'j' and 'i' 'i' >>> 0 and 9 0
-
选择结构
if 表达式:
语句块
elif 表达式:
语句块
else:
语句块
- 单分支选择结构
>>> a = 1 >>> b = 2 >>> if a<=b: # 单分支选择结构 ... print('a小于等于b') ... a小于b
- 双分支选择结构
>>> a = 1 >>> b = 2 >>> if a<=b: ... print('a小于等于b') ... else: ... print('a大于b') ... a小于b
- 多分支选择结构
>>> a = 1 >>> b = 2 >>> if a<b: ... print('a小于b') ... elif a>b: ... print('a大于b') ... else: ... print('a等于b') a小于b
三元运算符
value1 if condition else value2
当表达式
condition
的值为True
等价时,表达式的值为value1
, 否则表达式的值为vaue2
。 且这个表达式也具有惰性求值的特点。>>> a = 1 >>> b = 2 >>> a if a<b else b 1 >>> print('a=%d' % a) if a<b else b a=1
-
循环结构
while 条件表达式:
循环体
[else:
else 字句代码块]
或:
for 取值 in 序列或迭代对象:
循环体
[else:
else 字句代码块]
九九乘法表
>>> for i in range(1,10): ... for j in range(1,i+1): ... print('{0} * {1}={2}'.format(i,j,j*i),end=' ') ... print()
计算1+2+3+…+99+100的结果:
>>> s=0 >>> for i in range(1,101): ... s+=i ... else: ... print(s) ... 5050 >>> s=i=0 >>> while i<=100: ... s+=i ... i+=1 ... else: ... print(s) ... 5050