引言:

    上次课学习了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. Presto Infrastructure at Lyft

    转载一篇关于 lyft presto 平台建设的实践 Overview Early in 2017 we started exploring Presto for OLAP use cases and ...

  2. kafka消费端提交offset的方式

    Kafka 提供了 3 种提交 offset 的方式 自动提交 复制 1234 consumer.commitSync(); 手动异步提交 offset 复制 1 consumer.commitAsy ...

  3. K8s无状态控制器原理介绍

    Pod控制器: ReplicationController:早期K8s只有这一个控制器,但后来发现让这一个来完成所有任务,太复杂.因此被废弃. ReplicaSet: 它用于帮助用户创建指定数量的Po ...

  4. 【传输协议】thrift的IDL语法

    一.IDL Thrift 采用IDL(Interface Definition Language)来定义通用的服务接口,然后通过Thrift提供的编译器,可以将服务接口编译成不同语言编写的代码,通过这 ...

  5. boot2docker

    boot2docker 简介 boot2docker是解决非linux系统下运行Docker容器不方便的工具 官方介绍 Boot2Docker是在Windows操作系统上运行Docker的唯一方法,现 ...

  6. 求解未知数——yjy题库

    /* 未知数 p1,p2,p3,p4,p5,满足: (1) p1 与 p3 均为 2 位的正整数:p5 为 3 位的正整数: (2) p2 与 p4 低两位(例:数值‘123’取低两位则为‘23’)数 ...

  7. (转)2019年 React 新手学习指南 – 从 React 学习线路图说开去

    原文:https://www.html.cn/archives/10111 注:本文根据 React 开发者学习线路图(2018) 结构编写了很多新手如何学习 React 的建议.2019 年有标题党 ...

  8. java多线程(三)线程的安全问题

    1.1. 什么是线程安全 如果有多个线程同时运行同一个实现了Runnable接口的类,程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的:反之,则是线程不 ...

  9. java concurrent并发包使用

    package cn.com.zxf.atomic; import java.util.concurrent.atomic.AtomicInteger; public class AtomicExam ...

  10. aliyun手记

    阿里云里面购买的带宽是指外网带宽,内网默认是千兆带宽,做过I/O优化的则是万兆带宽. 修改密码实在更多(三个点)的那里进行修改的:修改密码(windows是administrator以及Linux是r ...