第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,即可执行循环。  

猜你喜欢

转载自www.cnblogs.com/freesiyi/p/11516768.html