第2课,python while循环的使用
引言:
上次课学习了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循环的使用的更多相关文章
- Python的循环
循环是一个结构,导致一个程序要重复一定的次数 条件循环也一样,当条件变为假,循环结束 For循环 在python for循环遍历序列,如一个列表或一个字符. for循环语法: ——for iter ...
- python基础-循环
循环 循环 要计算1+2+3,我们可以直接写表达式: >>> 1 + 2 + 3 6 要计算1+2+3+...+10,勉强也能写出来. 但是,要计算1+2+3+...+10000,直 ...
- python的循环和选择
一.python的选择结构: python的选择结构有两种选择结构一种是单选择(if...else)另一种则是多选择结构(if ...elif...elif) 下面用代码来实现: 1.if....el ...
- 在oj中Python的循环输入问题解决
在oj中Python的循环输入问题解决 在makefile中定义逗号字符串和空格字符串 在linux服务器上面部署javaweb项目jar包 数据结构与算法之栈(Java与Python实现) 在oj中 ...
- python 之 循环语句
python提供了for循环和while循环以及嵌套循环(在python中没有do..while循环) while 循环语法: while 判断条件: 执行语句...... 实际案例: numbers ...
- Python while 循环使用实例
while循环是在Python中的循环结构之一. while循环继续,直到表达式变为假.表达的是一个逻辑表达式,必须返回一个true或false值,本文章向码农介绍Python while 循环使用方 ...
- Python学习-7.Python的循环语句-for语句
Python中循环可以使用for语句来实现 list = ['Tom','Lucy','Mary'] for name in list: print(name) 则将会依次输出Tom Lucy Mar ...
- Python for 循环语句
Python for 循环语句 Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串. 语法: for循环的语法格式如下: for iterating_var in sequenc ...
- Python的循环正确的操作使用方法详解
要计算1+2+3,我们可以直接写表达式: >>> 1 + 2 + 3 6 要计算1+2+3+...+10,勉强也能写出来. 但是,要计算1+2+3+...+10000,直接写表达式就 ...
随机推荐
- %lld 和 %I64d
在Linux下输出long long 类型的是 printf("%lld", a); 在Windows下输出是 printf("%I64d", a); xxy学 ...
- 编译错误: file not found with angled include use quotes instead #include <lualib.h> 和 #include "lualib.h"
http://stackoverflow.com/questions/17465902/use-of-external-c-headers-in-objective-c 问题: 7down votef ...
- plsql excel导入报错:未发现数据源名称并且未指定默认驱动程序
1.情景展示 使用plsql的odbc导入器,导入excel数据时,报错信息如下: anydac 未发现数据源名称如何处理 2.原因分析 操作系统的问题,我的是64位的系统,plsql支持32 ...
- Linux kill、kill-15、kill-9区别
进程状态转换图 kill和kill -9,两个命令在linux中都有杀死进程的效果,然而两命令的执行过程却大有不同,在程序中如果用错了,可能会造成莫名其妙的现象. 执行kill(不加 -* 默认kil ...
- 【技术博客】Django+uginx+uwsgi框架的服务器部署
1.登录服务器 使用ssh来直接登录到服务器terminal进行操作,推荐使用XShell和XFtp来进行远程登录和文件传输. 2.运行环境准备 本组获得的华为云服务器为ubuntu16.04版本,先 ...
- 响应: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
原vsftpd服务器的系统从centos6.8升级到centos7.2.vsftpd使用yum方式安装,用户采用系统用户登录.由于系统升级到centos7,yum安装的vsftpd版本改变.因此按ce ...
- 【PHP】php实现二进制、八进制、十进制、十六进制之间各自转换的函数
<?php /* 常见的进制: 二进制 binary -----> bin 八进制 octal -----> oct 十进制 decimal -----> dec 十六进制 h ...
- 【Eclipse】Eclipse如何导出java项目为jar包
1.首先确定要导出的项目 从项目结构可以看出,笔者的项目是一个Dynamic Java Project.com/db下面有一个config的数据库配置文件.WEB-INF/lib文件夹下面有依赖的ja ...
- zookeeper从3.4.8升级到3.4.14
升级背景说明: 最近在做系统安全扫描时,扫出来zookeeper存在安全漏洞 Apache Zookeeper 缓冲区溢出漏洞(CVE--) 官方给出的升级建议: 地址:https://zookeep ...
- 查找算法(2)--Binary chop--二分查找
1. 二分查找 (1)说明 元素必须是有序的,如果是无序的则要先进行排序操作. (2)基本思想: 也称为是折半查找,属于有序查找算法.用给定值k先与中间结点的关键字比较,中间结点把线形表分成两个子表, ...