第2课,python while循环的使用
引言:
上次课学习了python turtle库的基本使用,向前向后和转向。本次课需要画多个图形,简单的东西多起来就变得不简单了。
0/1是简单的,但却能组成丰富多彩的多媒体世界。
课程内容:
1. 再看python turtle库
2. 画一个正方形,画两个正方形,画多个正方形
3. 画数轴,画平面直角坐标系
感谢网络图片分享:
再看 python turtle 库:
通过导入库,画一个圈,并输出一句:“实不相瞒,其实我很帅!!!”
1 >>> import turtle as t #在导入turtle 库时将它重命名为 t 2 >>> t.circle(80) 3 >>> t.forward(100) 4 >>> t.write("实不相瞒,其实我是个帅哥!!!")
下面进入主题,画一个正方形:
1 import turtle as t 2 t.fd(100) 3 t.left(90) 4 t.fd(100) 5 t.left(90) 6 t.fd(100) 7 t.lt(90) 8 t.fd(100)
画两个重心相同的正方形,间距为10个像素:
-
错误示范:
1 import turtle as t 2 t.fd(100) 3 t.left(90) 4 t.fd(100) 5 t.left(90) 6 t.fd(100) 7 t.lt(90) 8 t.fd(100) 9 #t.lt(90) 10 11 t.penup() 12 t.goto(-10,-10) 13 t.pendown() 14 15 t.fd(120) 16 t.left(90) 17 t.fd(120) 18 t.left(90) 19 t.fd(120) 20 t.lt(90) 21 t.fd(120) 22 #t.lt(90)
图是挺漂亮的,但是没满足我们重心相同的要求,问题的主要原因是画完正方形后箭头方向没有回到最初的方向。
画一堆正方形:
需要引入我们的while循环,格式:
"""
while 条件:
循环的内容
"""
其中,条件是条件成立,就执行循环的内容,要注意有分号,说明下面是主要内容。要循环的内容需要按下一个tab键缩进,python的作业本也会智能的帮我们缩进
具体实例:
while 0 != 9:
while 0 > 9:
while 9:
while 9 + 9:
a = 0
while !a:
a = 9
while !a:
画一堆正方形的方法,多种多样,画10个体验一下:
1 import turtle as t 2 3 t.speed(100) 4 a = 0 5 while a < 10: 6 a = a +1 7 t.fd(60 + a*20) 8 t.left(90) 9 t.fd(60 + a*20) 10 t.left(90) 11 t.fd(60 + a*20) 12 t.lt(90) 13 t.fd(60 + a*20) 14 t.lt(90) 15 16 t.penup() 17 t.goto(-a*10,-a*10) 18 t.pendown()
1 import turtle as t 2 3 t.speed(100) 4 a = 0 5 while 10: 6 a = a +1 7 if a > 10: #在a > 10 的情况下跳出循环 8 break 9 t.fd(60 + a*20) 10 t.left(90) 11 t.fd(60 + a*20) 12 t.left(90) 13 t.fd(60 + a*20) 14 t.lt(90) 15 t.fd(60 + a*20) 16 t.lt(90) 17 18 t.penup() 19 t.goto(-a*10,-a*10) 20 t.pendown()
发现:while循环本身带有判断功能
画数轴:
要求,负数端到达-300,正端到达300。每个20个像素打一个标记
1 import turtle as t 2 3 t.speed(100) 4 t.write("0") 5 t.goto(-300,0) 6 t.goto(300,0) 7 8 t.lt(90) 9 t.circle(6,steps=3) #画一个箭头 10 11 a = -300 12 while a <= 300: 13 t.goto(a,0) 14 t.goto(a,-3) 15 t.goto(a,3) 16 t.goto(a,0) 17 a = a + 20
在数轴的基础上,画一个平面直角坐标系:
1 import turtle as t 2 3 t.speed(100) 4 t.write("0") 5 t.goto(-300,0) 6 t.goto(300,0) 7 8 t.lt(90) 9 t.circle(6,steps=3) #画一个箭头 10 11 #画x轴 12 a = -300 13 while a <= 300: 14 t.goto(a,0) 15 t.goto(a,-3)#画标记 16 t.goto(a,3) 17 t.goto(a,0) 18 a = a + 20 19 20 t.penup() 21 t.goto(0,-300) 22 t.pendown() 23 t.goto(0,300) 24 t.lt(90) 25 t.circle(6,steps=3) #画一个箭头 26 27 #画y轴 28 a = -300 29 while a <= 300: 30 t.goto(0,a) 31 t.goto(-3,a) 32 t.goto(3,a) 33 t.goto(0,a) 34 a = a + 20 35 36 t.hideturtle() #隐藏箭头
修饰优化:
通过使用循环画了坐标轴,但优点简陋,拓展可以加入,xy表识,数字表示
课程回顾:
学习编程,想要真正的掌握编程,练习是必不可少的,任何急功近利都是收获甚微,只能获得似懂非懂的结果。本课通过,实践例子熟悉python while循环的使用,
特别要注意while循环条件的各种形式。条件运算结果为非0,即可执行循环。
上一篇: 详解及对比创建线程的三种方式
下一篇: 第三周训练总结