循环结构
while循环
while 循环条件 :
循环体语句
for循环 :
for 变量 in 可迭代对象 :
循环体语句
range对象:
range对象是一个迭代器对象,用来产生指定序列范围的数字序列。格式为:
range(start, end [, step])
从start开始,到end(不包括end) 结束,step缺省为0
嵌套循环:
一个循环体内套上另一个循环,无限套娃
for i in range(5): for j in range(5): print(i,end='\t') print()
打印乘法口诀表:
for i in range(1,10): for j in range(1,10): if j <= i: print("{0}×{1}={2}".format(j,i,j*i), end='\t') print()
break 语句:
break用于while和 for 循环,用来结束整个循环。当有嵌套循环时,break只能跳出最近的一层循环
while True: if input() == '0': break
continue语句:
conyinue用于结束本次循环,继续下一次。多个循环嵌嵌套时,continue只作用于最近的一层循环
else语句(循环语句里的else)
while for 循环可以附带一个else语句(可选)。如果for while语句没有别break语句结束,则会执行else子句,否则不执行。语法格式如下:
while 条件表达式:
循环体
else:
语句块
或者
for 变量 in 可迭代对象:
循环体
else:
语句块
salarysum = 0 salarys = [] for i in range(4): s = input("请输入一共四名员工的薪资:(按Q或q终止输入)") if s.upper()=='Q': print("录入完成,退出") break if float(s) < 0: continue salarys.append(float(s)) salarysum += float(s) else: print("录入完成") print("录入薪资:",salarys) print("平均薪资:",salarysum/4)
循环代码优化
1.尽量减少循环内部不必要的计算
2.嵌套循环中,尽量减少内层循环的计算,尽可能外提
3.局部变量查询快,尽量使用局部变量
import time start = time.time() for i in range(1000): result = [] for m in range(10000): result.append(i*1000 + m*100) end = time.time() print("耗时{0}".format(end-start)) start2 = time.time() for i in range(1000): result=[] c = i*1000 for m in range(10000): result.append(c+m*100) end2 = time.time() print("耗时{0}".format(end2-start2))
其它优化手段
1.连接多个字符串,使用join而不使用+
2.列表进行元素插入和删除,尽量在列表尾部操作