程序的基本结构
顺序、分支、循环
分支结构
if语句
if <条件>:
<语句块>
if-else语句
Ⅰ
if <条件>:
<语句块>
else:
<语句块>
Ⅱ
<表达式1> if <条件> else <表达式2>
if-elif-else
if <条件1>:
<语句块1>
elif <条件2>:
<语句块2>
…
else:
<语句块N>
循环结构
遍历循环:for语句
Ⅰ
for <循环变量> in <遍历结构>:
<语句块>
Ⅱ
for <循环变量> in <遍历结构>:
<语句块1>
else:
<语句块2>
for循环的执行次数是根据遍历结构中的元素个数确定的。
遍历结构可以是“字符串、文件、组合数据类型、range()函数”
| 循环N次 | 遍历文件 fi的每一行 | 遍历字符串s | 遍历列表Is |
|---|---|---|---|
| for i in range(N): <语句块> |
for line in fi: <语句块> |
for c in s: <语句块> |
for item in Is: <语句块> |
无限循环 while语句
Ⅰ
while <条件>:
<语句块>
Ⅱ
while <条件>:
<语句块1>
else:
<语句块2>
True继续循环 False终止
循环保留字 break 和 continue
break 跳出最内层for或者while循环,但继续执行外层循环,每个break语句只能跳出当前层次的循环。
结束整个循环过程,不再判断执行循环的条件是否成立。
continue 结束当前循环,跳出后继续执行下一未执行的语句。结束本次循环,但不终止整个程序。
random库
| 函数 | 描述 |
|---|---|
| seed(a=None) | 初始化随机数种子,默认值为当前系统时间 |
| random() | 生成一个[0.0, 1.0)之间的随机小数 |
| randint(a, b) | 生成一个[a,b]之间的整数 |
| getrandbits(k) | 生成一个k比特长度的随机整数 |
| randrange(start, stop[, step]) | 生成一个[start, stop)之间以step为步数的随机整数 |
| uniform(a, b) | 生成一个[a, b]之间的随机小数 |
| choice(seq) | 从序列类型,例如列表中随机返回一个元素 |
| shuffle(seq) | 将序列类型中的元素随机排列,返回打乱后的序列 |
| sample(pop, k) | 从pop类型中随机选取k个元素,以列表类型返回 |
程序的异常处理
Python通过try、except等保留字提供异常处理功能
try:
<语句块1>
except <异常类型>:
<语句块2>
高级用法
try:
<语句块1>
except <异常类型1>:
<语句块2>
…
except <异常类型N>:
<语句块N+1>
except :
<语句块N+2>
(PS:书上最后一句写着这样一组对话🌑:
“——没看懂,到底什么时候该使用异常语句呢?
——程序员都是对它又爱又恨,其实,想用就用吧,用户体验好才是王道!”
看到此处 内心OS:????????)
Exercises
4.1
1 | #4.1猜数游戏 |

4.2
1 | #4.2统计不同字符个数 |

4.3
1 | #4.3最大公约数 |

4.4
1 | #4.4 |

4.5
1 | #4.5 |
