引言:

    上次课学习了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. 常用方法 Entitys转换为DataTable

    效率比较屁,将近可以用 public static DataTable EntitiesToDataTable<T>(List<T> entitys) { Type t = t ...

  2. Redis之eval+lua实现初步

    目录 目录 1 1. 前言 1 2. 执行方式 1 3. 执行过程 3 4. 使用原则 3 1. 前言 Redis的实现保证eval的执行是原子的,即使eval执行的lua超时,Redis也不会自动终 ...

  3. 抽样方法(Sampling Method)

    概率抽样方法: 1. 随机抽样(random sampling):从有限总体中简单随机抽样或从无限总体中随机抽样. 具体实现方式:a. 抽签法:b. 随机数字法 2. 分层抽样(stratified ...

  4. from表格

    目录 from 功能: 表单元素 表单工作原理: input 属性说明: select标签 属性说明: label标签 属性说明: from 功能: 表单用于向服务器传输数据,从而实现用户与Web服务 ...

  5. 分布式id的生成方式——雪花算法

    雪花算法是twitter开源的一个算法. 由64位0或1组成,其中41位是时间戳,10位工作机器id,12位序列号,该类通过方法nextID()实现id的生成,用Long数据类型去存储. 我们使用id ...

  6. 小程序组件--> 组件传参

    小程序组件,在components文件夹右击-->创建文件夹-->右击-->新建component即可 创建一个组件 如果多个地方需要使用到,可以在app.json中加入一下代码,相 ...

  7. Centos7 Nginx安装使用

    一.Nginx简介 1.什么是nginx Nginx是一款使用C语言开发的高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.由俄罗斯的程序设计师Igor Sysoev ...

  8. 混合高斯分布与 EM 算法

    极大似然估计在混合高斯分布中遇到的困难 在一般的情况下,对于所得到的样本集,\(X=\left\{x_{1}, \dots, x_{N}\right\}\),我们的目标是最大化似然函数,通过最大化似然 ...

  9. Java的string类为什么是不可变的

    最流行的Java面试题之一就是:什么是不可变对象(immutable object),不可变对象有什么好处,在什么情况下应该用,或者更具体一些,Java的String类为什么要设成immutable类 ...

  10. idea中如何

    idea工具maven projects里面有9种生命周期,生命周期是包含在一个项目构建中的一系列有序的阶段. 一.最常用的两种打包方法: 1.clean,package(如果报错,很可能就是jar依 ...