引言:

    上次课学习了python turtle库的基本使用,向前向后和转向。本次课需要画多个图形,简单的东西多起来就变得不简单了。

  0/1是简单的,但却能组成丰富多彩的多媒体世界。

课程内容:

  1. 再看python turtle库

  2. 画一个正方形,画两个正方形,画多个正方形

  3. 画数轴,画平面直角坐标系

感谢网络图片分享:

  

再看 python turtle 库:

  通过导入库,画一个圈,并输出一句:“实不相瞒,其实我很帅!!!”

 >>> import turtle as t #在导入turtle 库时将它重命名为 t
>>> t.circle(80)
>>> t.forward(100)
>>> t.write("实不相瞒,其实我是个帅哥!!!")

下面进入主题,画一个正方形:

 import turtle as t
t.fd(100)
t.left(90)
t.fd(100)
t.left(90)
t.fd(100)
t.lt(90)
t.fd(100)

画两个重心相同的正方形,间距为10个像素:

  -

  错误示范:   

 import turtle as t
t.fd(100)
t.left(90)
t.fd(100)
t.left(90)
t.fd(100)
t.lt(90)
t.fd(100)
#t.lt(90) t.penup()
t.goto(-10,-10)
t.pendown() t.fd(120)
t.left(90)
t.fd(120)
t.left(90)
t.fd(120)
t.lt(90)
t.fd(120)
#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个体验一下:

 import turtle as t

 t.speed(100)
a = 0
while a < 10:
a = a +1
t.fd(60 + a*20)
t.left(90)
t.fd(60 + a*20)
t.left(90)
t.fd(60 + a*20)
t.lt(90)
t.fd(60 + a*20)
t.lt(90) t.penup()
t.goto(-a*10,-a*10)
t.pendown()

  

  

 import turtle as t

 t.speed(100)
a = 0
while 10:
a = a +1
if a > 10: #在a > 10 的情况下跳出循环
break
t.fd(60 + a*20)
t.left(90)
t.fd(60 + a*20)
t.left(90)
t.fd(60 + a*20)
t.lt(90)
t.fd(60 + a*20)
t.lt(90) t.penup()
t.goto(-a*10,-a*10)
t.pendown()

  发现:while循环本身带有判断功能

画数轴:

  要求,负数端到达-300,正端到达300。每个20个像素打一个标记

 import turtle as t

 t.speed(100)
t.write("")
t.goto(-300,0)
t.goto(300,0) t.lt(90)
t.circle(6,steps=3) #画一个箭头 a = -300
while a <= 300:
t.goto(a,0)
t.goto(a,-3)
t.goto(a,3)
t.goto(a,0)
a = a + 20

  

 在数轴的基础上,画一个平面直角坐标系:

 import turtle as t

 t.speed(100)
t.write("")
t.goto(-300,0)
t.goto(300,0) t.lt(90)
t.circle(6,steps=3) #画一个箭头 #画x轴
a = -300
while a <= 300:
t.goto(a,0)
t.goto(a,-3)#画标记
t.goto(a,3)
t.goto(a,0)
a = a + 20 t.penup()
t.goto(0,-300)
t.pendown()
t.goto(0,300)
t.lt(90)
t.circle(6,steps=3) #画一个箭头 #画y轴
a = -300
while a <= 300:
t.goto(0,a)
t.goto(-3,a)
t.goto(3,a)
t.goto(0,a)
a = a + 20 t.hideturtle() #隐藏箭头

  

修饰优化:

  通过使用循环画了坐标轴,但优点简陋,拓展可以加入,xy表识,数字表示

课程回顾:

  学习编程,想要真正的掌握编程,练习是必不可少的,任何急功近利都是收获甚微,只能获得似懂非懂的结果。本课通过,实践例子熟悉python while循环的使用,

  特别要注意while循环条件的各种形式。条件运算结果为非0,即可执行循环。  

第2课,python while循环的使用的更多相关文章

  1. Python的循环

    循环是一个结构,导致一个程序要重复一定的次数 条件循环也一样,当条件变为假,循环结束 For循环 在python for循环遍历序列,如一个列表或一个字符. for循环语法:   ——for iter ...

  2. python基础-循环

    循环 循环 要计算1+2+3,我们可以直接写表达式: >>> 1 + 2 + 3 6 要计算1+2+3+...+10,勉强也能写出来. 但是,要计算1+2+3+...+10000,直 ...

  3. python的循环和选择

    一.python的选择结构: python的选择结构有两种选择结构一种是单选择(if...else)另一种则是多选择结构(if ...elif...elif) 下面用代码来实现: 1.if....el ...

  4. 在oj中Python的循环输入问题解决

    在oj中Python的循环输入问题解决 在makefile中定义逗号字符串和空格字符串 在linux服务器上面部署javaweb项目jar包 数据结构与算法之栈(Java与Python实现) 在oj中 ...

  5. python 之 循环语句

    python提供了for循环和while循环以及嵌套循环(在python中没有do..while循环) while 循环语法: while 判断条件: 执行语句...... 实际案例: numbers ...

  6. Python while 循环使用实例

    while循环是在Python中的循环结构之一. while循环继续,直到表达式变为假.表达的是一个逻辑表达式,必须返回一个true或false值,本文章向码农介绍Python while 循环使用方 ...

  7. Python学习-7.Python的循环语句-for语句

    Python中循环可以使用for语句来实现 list = ['Tom','Lucy','Mary'] for name in list: print(name) 则将会依次输出Tom Lucy Mar ...

  8. Python for 循环语句

    Python for 循环语句 Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串. 语法: for循环的语法格式如下: for iterating_var in sequenc ...

  9. Python的循环正确的操作使用方法详解

    要计算1+2+3,我们可以直接写表达式: >>> 1 + 2 + 3 6 要计算1+2+3+...+10,勉强也能写出来. 但是,要计算1+2+3+...+10000,直接写表达式就 ...

随机推荐

  1. .net core 原生支持grpc

    文章转自:https://grpc.io/blog/grpc-on-dotnetcore This is a guest post by Sourabh Shirhatti, a Program Ma ...

  2. 【LG2839】[国家集训队]middle

    [LG2839][国家集训队]middle 题面 洛谷 题解 按照求中位数的套路,我们二分答案\(mid\),将大于等于\(mid\)的数设为\(1\),否则为\(-1\). 若一个区间和大于等于\( ...

  3. fork和vfork

    转载 http://coolshell.cn/articles/12103.html 在知乎上,有个人问了这样的一个问题——为什么vfork的子进程里用return,整个程序会挂掉,而且exit()不 ...

  4. Zookeeper——一致性协议:Zab协议

    Reference: https://www.jianshu.com/p/2bceacd60b8a 什么是Zab协议 Zab 协议的作用 Zab 协议原理 Zab 协议核心 Zab 协议内容 原子广播 ...

  5. pfx格式和cer格式的区别

    来一篇大神的帖子就都懂了. 版权声明:本文为CSDN博主「天府云创」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn. ...

  6. 你真的知道Java中boolean类型占用多少个字节吗?

    为什么要问这个问题,首先在Java中定义的八种基本数据类型中,除了其它七种类型都有明确的内存占用字节数外,就boolean类型没有给出具体的占用字节数,因为对虚拟机来说根本就不存在 boolean 这 ...

  7. 定时任务、js定时任务

    intervalID =setInterval("getIsCookie()",1000); //开始任务 clearInterval(intervalID);//停止任务

  8. PowerDesigner应用01 逆向工程之配置数据源并导出PDM文件

    物理数据模型(Physical Data Model)PDM,提供了系统初始设计所需要的基础元素,以及相关元素之间的关系:数据库的物理设计阶段必须在此基础上进行详细的后台设计,包括数据库的存储过程.操 ...

  9. php error_reporting()关闭报错

    错误报告级别:指定了在什么情况下,脚本代码中的错误(这里的错误是广义的错误,包括E_NOTICE注意.E_WARNING警告.E_ERROR致命错误等)会以错误报告的形式输出. 一.常用设置说明 er ...

  10. grpc使用记录(一) gRPC编译(mscv/gcc)

    目录 1.编译前的准备工作 2.Windows下使用VS2019编译 2.1.使用cmake生成VS2019解决方案 2.2.使用msbuild工具进行编译 3.linux下编译 3.1 CentO ...