文章目录
- 1.嵌套循环
- 2.嵌套循环练习
- 3.break语句
- 4.continue语句
- 5.else语句
- 6.循环代码优化
- 7.使用zip()并行迭代
- 8.推导式创建序列
- 9.综合练习
- 10.函数用法和底层分析
1.嵌套循环
for x in range(5): for y in range(5): print(x,end="t") print() #起到换行的作用2.嵌套循环练习
九九乘法表
for m in range(1,10): for n in range(1,m+1): print("{0}*{1}={2}".format(m,n,(m*n)),end="t") print() #换行
例题2:
tb = [] a1 = dict(name="汤小一",age=18,salary=30000,city="北京") a2 = dict(name="汤小二",age=19,salary=40000,city="南京") a3 = dict(name="汤小六",age=20,salary=50000,city="上海") tb = [a1,a2,a3] for i in tb: if i.get("salary")>35000: print(i)3.break语句
4.continue语句#用于while和for循环,用于结束整个循环。当有嵌套循环时,break语句只能跳出最近一层的循环 # a = input()
用于结束本次循环,继续下一次。多个循环嵌套时,continue也是应用于最近的一层循环
*** 作:要求输入员工的薪资,若薪资小于0则重新输入。最后打印录入员工的数量和薪资明细,以及平均薪资
empnum = 0 salarysum = 0 salarys = [] while True: s = input("请输入员工的薪资(按Q或q结束):") if s.upper()=='Q': print("录入完成,退出") break if float(s)<0: continue empnum += 1 salarys.append(float(s)) salarysum += float(s) print("员工人数{0}".format((empnum))) print("录入薪资:",salarys) print("平均薪资{0}".format(salarysum/empnum))5.else语句
while、for循环都可以附带一个else语句。如果for、while语句没有被break语句结束,则会执行else句,否则不执行。
6.循环代码优化语法格式: while 条件表达式: 循环体 else: 语句块
7.使用zip()并行迭代1.尽量减少循环内部不必要的计算。 2.嵌套循环中,尽量减少内层循环的计算,尽可能向外提。 3.局部变量查询较快,尽量使用局部变量
测试并行迭代:
for i in [1,2,3,4,5,6]: print(i)8.推导式创建序列 列表推导式
列表推导式,语法: [表达式 for item in 可迭代对象]或者:{表达式 for item in 可迭代对象 if 条件判断}
x = [i for i in range(1,5)] print(x) x = [i*2 for i in range(1,5)] print(x) x = [i for i in range(1,100) if i%5==0] print(x)
字典推导式
格式: {key_expression: value_expression for 表达式 in 可迭代对象}
测试代码:
my_text = "i love python,i love learning,i love gaoshu" char_count = {c:my_text.count(c) for c in my_text} print(char_count)集合推导式
格式: {表达式 for item in 可迭代对象}或者:{表达式 for item in 可迭代对象 if 条件判断}
实验代码:
x = {i for i in range(1,100) if i%5==0} print(x)生成器推导式(生成元组)
一个生成器只能运行一次。第一次迭代可以得到数据,第二次迭代发现数据已经没有了。
skt = (x for x in range(4)) print(tuple(skt)) print(tuple(skt)) #再看的时候就为空了 for x in skt: #skt是生成器对象,生成器是可迭代对象 print(x,end="") print(tuple(skt))9.综合练习 画圆环
import turtle t = turtle.Pen() my_colors = ("red","green","yellow","black") t.width(5) t.speed(10) for i in range(10): #0 1 2 3 4 5 6 7 8 9 t.penup() t.goto(0,-i*10) #0,-10,-20,-30,-40 t.pendown() t.color(my_colors[i%len(my_colors)]) #对my_colors取余数 t.circle(15+i*10) #15,25,35,45,55 turtle.done() #程序执行亮,窗口仍然在画棋盘
import turtle width = 30 num = 18 x1 = [(-300,300),(-300+width*num,300)] y1 = [(-300,300),(-300,300-width*num)] t = turtle.Pen() t.speed(10) for i in range(0,19): t.penup() t.goto(x1[0][0],x1[0][1]-30*i) t.pendown() t.goto(x1[1][0],x1[1][1]-30*i) for i in range(0,19): t.penup() t.goto(y1[0][0]+30*i,y1[0][1]) t.pendown() t.goto(y1[1][0]+30*i,y1[1][1]) turtle.done()
10.函数用法和底层分析
函数是可重用的程序代码块。函数的作用,不仅可以实现代码的复用,更能实现代码的一致性。 一致性指的是,只要修改函数的代码,则所有调用该函数的地方都可以得到体现。
#函数的分类
1.内置函数()
2.标准库函数
3.第三方库函数
4.用户自定义函数
格式: def 函数名 ([参数列表]): "文档字符串" #对函数的说明,先定义再调用
def skt1000(): print("*"*5) print("@"*5) skt1000()
总结:学习语言就是要勤加练习!!!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)