引言:

    上次课学习了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. PipelineWise illustrates the power of Singer

    转自:https://www.stitchdata.com/blog/pipelinewise-singer/ Stitch is based on Singer, an open source st ...

  2. 8.学习springmvc的拦截器

    一.springmvc拦截器介绍和环境搭建 1.介绍: 过滤器:servlet中的一部分,可以拦截所有想要访问的资源. 拦截器:SpringMVC框架中的,只能在SpringMVC中使用并且只能过滤控 ...

  3. [已解决] Python logging 重复打印日志信息

    问题描述 问题代码如下: def get_logger(logger_name): """得到日志对象""" logger = loggin ...

  4. oracle 如何通过分组计数查出重复数据?

      1.情景展示 现在,机构表数据中机构名称有重复数据,如何筛选出来? 2.分析 第一步:统计是否存在重复数据. 方式一: 方式二: 说明表中确实存在重复数据 第二步:统计重复次数及机构名称. 需要通 ...

  5. 微信小程序之上传图片(含前后端代码例子)

    此代码示例,能够让你成功将图片上传至后端,后端做相应的处理,然后返回成功码. 前端小程序代码 index.wxml: <view class='content'> <view cla ...

  6. arcpy地理处理工具案例教程-景观形状指数计算

    arcpy地理处理工具案例教程-景观形状指数计算 商务合作,科技咨询,版权转让:向日葵,135-4855_4328,xiexiaokui#qq.com 使用方法:输入要素类即可,其余参数均默认. 商务 ...

  7. js中[object Object]与object.prototype.toString.call()

    最近在用node读取文件中的json数据后,用JSON.parse()转成了json,然后响应数据传给前端,发现输出值object对象时显示[object object],在这里我们来看一下他的具体意 ...

  8. vue路由的异步加载(懒加载)方法

    vue路由的异步加载(懒加载)方法. javascriptvue.jsvue-router  阅读约 2 分钟 vue本身不多介绍.直接说问题,因为vue的所有路由都是加载在一个app.js里的,如果 ...

  9. SyntaxError: expected expression, got ")" void() : 1: 5

    这个错误的意思是: 本来希望得到 一个 表达式, 缺得到了 ), 凡是 这样的错误, 就是 函数 在当前位置, 需要一个参数! 参数没有给, 就 输入 ) 右括号了! 错误位置 1: 5, 就是 指 ...

  10. Xamarin.Forms Shell基础教程(1)

    Xamarin.Forms Shell基础教程(1) 什么是Xamarin.Forms Shell Shell是Visual Studio为Xamarin Forms提供的解决方案模版.本质上,She ...