掉进悬崖的小白,发现控制语句泥潭,for和while无脑循环深陷,艰难爬出。。
三种基本控制结构:
顺序结构、选择(分支)结构、循环结构
顺序结构就是顺其自然,大道从简,所谓道可道,非常道。
选择结构:
if语句:

语法格式:
if 条件:
执行语句1
执行语句2
特性:
1.当条件为真时,语句块会执行,否则跳过不执行
2.可以嵌套任意层以构成更复杂的判断选择结构
注意:缩进来限定选择执行的语句块的范围
ps:
可以使用pass这个占位语句表示语句块结束
pass 不做任何事情,只表示占位
例:
if 条件:
语句
pass
pass后直接回车可以接续上一个代码块继续写代码
if-else语句
适配双分支语句
无论如何,必然会有一个分支执行

if-else语法:
if 条件:
条件为真执行的语句
else:
条件为假执行的语句
如果分支大于两个,可以使用多个if或者if-else嵌套,也可以使用if-elif-else语句
if-elif-else语法格式:
if 条件1:
条件1为真执行的语句
elif 条件2:
以上条件为假且条件2为真执行的语句
elif 条件3:
以上条件为假且条件3为真执行的语句
else:
以上条件全为假执行的语句
三元取值表达式
三元表达式:
功能类似用if else取值
只是分支取值的一种语法糖
语法糖:糖衣语法 程序的便捷写法
语法:值1 if 条件 else 值2
条件为真取值1 条件为假取值2
两种语法格式的比较:
以打折为例 参加就打九折 800以上打八折
data = 1000
if…else取值:
if data > 800:
data *= 0.8
else:
data *= 0.9
三元表达式取值:
data *= 0.8 if data > 800 else 0.9
循环结构:
while:先判断,后执行,循环执行0-n次
语法格式:
while 条件:
条件为真执行的语句
条件变化语句
若条件一直为真 循环将永无休止:死循环
for:用控制变量控制循环次数
for语法:i会从头至尾依次变换为range得到的数据
注意:i只是惯例,可以替换成别的标识符
for i in range([start,]end[,step]):
循环语句
需要一个前置技能:range([start,]end[,step])
用于限制控制变量的范围及步长
例如:
控制变量变化是:[0,n)使用range(3)即可得到0,1,2
控制变量变化是:[s(非0),n)使用range(1, 4)即可得1,2,3
控制变量变化是:[s,n)并且步长为3使用range(3, 10, 3)即可得到3,6,9
注意:
负数也是可以的:range(1, -2, -1):1,0,-1
倒序也可以:range(3, 0, -1):3,2,1
中断循环
break: 退出当前循环
continue:立即执行下一次循环
break:
在循环中,遇到break会立即退出并结束当前循环
continue:
在循环中,遇到continue会立即执行下一次循环,当次的后续语句会被忽略
使用技巧:
由于有了break,循环结束时无法判断循环是正常结束还是break结束 添加了如下语法:
for…else:
for i in range(s,e):
if 突然中断条件:
break;
else:
print(“正常终止”) # 表示不是break结束循环时执行的语句
while…else:
while 循环继续条件:
if 突然中断条件:
break;
循环继续条件变化
else:
print(“正常终止”) # 表示不是break结束循环时执行的语句
引入随机模块
import random
print( random.randint(1,10) ) # 产生 1 到 10 的一个整数型随机数
print( random.random() ) # 产生 0 到 1 之间的随机浮点数
print( random.uniform(1.1,5.4) ) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数
print( random.choice(‘tomorrow’) ) # 从序列中随机选取一个元素
print( random.randrange(1,100,2) ) # 生成从1到100的间隔为2的随机整数
小白爬出泥潭写总结
选择语句是为了有条件的执行代码,循环语句是为了重复执行相同的代码。
当预先知道循环次数是选择for;当预先不知道循环次数选择while。
break和continue的作用。
多层循环的使用技巧。
1.程序的结构:顺序、选择、循环
2.选择:程序有了多路径选择的可能:
只有一条路可选:if
有两条路可选:if…else
有两条以上的路可选:if…elif…else
3.循环:复用代码 让程序员可以懒省事
预先不知道循环次数的循环:while 依靠break和条件进行终止
预先知道循环次数的循环:for 自行终止和break
4.循环的中断:中断当前循环 中断当次循环的(if…else)
5.特殊到一般的归纳法一定要掌握