python小海龟turtle绘图作业代码
作业1:
在屏幕中心建立一个宽为600,高为400的绘图窗口,在绘图窗口中从坐标(10,50)开始画一个边长为80的正方形,要求边为绿色,画笔宽度为4。
import turtle as t# 在屏幕中心建立一个宽为600,高为400的绘图窗口,
t.setup(600,400,200,200)# 在绘图窗口中从坐标(10,50)开始画一个边长为80的正方形,要求边为绿色,画笔宽度为4。
t.color("green")
t.pensize(4)
t.speed(1)
t.penup()
t.goto(10,50)#画笔执行四次同样的动作:绘制长度为100的直线、向右转90度。t.pendown()
t.forward(80)
t.right(90)
t.forward(80)
t.right(90)
t.forward(80)
t.right(90)
t.forward(80)
t.right(90)
#结束绘图t.done()
作业2:
在屏幕中心建立一个宽为屏幕宽度1/2,高为屏幕高度1/2的绘图窗口,以坐标(200,50)为起点绘一个半径为75的圆的内接六边形,并以蓝色为填充。移动画笔至坐标原点,向左侧画一个圆,半径为60,画笔颜色为红色。
import turtle as t# 在屏幕中心建立一个宽为屏幕宽度1/2,高为屏幕高度1/2的绘图窗口,
t.setup(width=0.5, height=0.5)
t.pensize(3)
t.speed(2)# 以坐标(200,50)为起点绘一个半径为75的圆的内接六边形,并以蓝色为填充
t.penup()
t.goto(200,50)
t.pendown()
t.begin_fill()
t.color("blue")
t.circle(75,steps=6)
t.end_fill()# 移动画笔至坐标原点
t.penup()
t.home()
t.pendown()# 向左侧画一个圆,半径为60,画笔颜色为红色。
t.color("red")
t.circle(60)#向左侧画一个圆
t.done()
作业3:
在屏幕中心建立一个宽为屏幕宽度1/2,高为屏幕高度1/2的绘图窗口,在绘图窗口点绘5个边长为50的五角星,填充色为红色。绘图位置自己确定。
import turtle as t# 在屏幕中心建立一个宽为屏幕宽度1/2,高为屏幕高度1/2的绘图窗口
t.setup(width=0.5, height=0.5)# 在绘图窗口点绘5个边长为50的五角星,填充色为红色。绘图位置自己确定。
t.speed(1)
t.pencolor('red')
t.fillcolor('yellow')
t.begin_fill()
k = 50
for j in range(5):t.penup()t.home()t.forward(k)t.pendown()for i in range(5):#这个语句是循环语句,可以控制循环部分执行多次。t.forward(50)t.right(144)t.end_fill()k = k + 10t.penup()t.done()
作业4:
学习以上内容后,请尝试用小海龟在计算机屏幕上绘出你自己设计的图案。
example1 太阳花
# 画太阳花
# coding=utf-8
import turtle
import time# 同时设置pencolor=color1, fillcolor=color2
turtle.color("red", "yellow")turtle.begin_fill()
for _ in range(50):turtle.forward(200)turtle.left(170)turtle.end_fill()turtle.mainloop()
example2 科赫雪花
#绘制科赫雪花
import turtle
def koch(size,n):if n == 0:turtle.fd(size)else:for angle in [0,60,-120,60]:turtle.left(angle)koch(size/3,n-1)
def main():turtle.setup(600,600)turtle.penup()turtle.goto(-200,100)turtle.pendown()turtle.pensize(2)level = 3 #3阶科赫雪花,阶数koch(400,level)turtle.right(120)koch(400,level)turtle.right(120)koch(400,level)turtle.hideturtle()turtle.done()
main()
example3 时钟
# 时钟
# coding=utf-8import turtle
from datetime import *# 抬起画笔,向前运动一段距离放下
def Skip(step):turtle.penup()turtle.forward(step)turtle.pendown()def mkHand(name, length):# 注册Turtle形状,建立表针Turtleturtle.reset()Skip(-length * 0.1)# 开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点。turtle.begin_poly()turtle.forward(length * 1.1)# 停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连。turtle.end_poly()# 返回最后记录的多边形。handForm = turtle.get_poly()turtle.register_shape(name, handForm)def Init():global secHand, minHand, hurHand, printer# 重置Turtle指向北turtle.mode("logo")# 建立三个表针Turtle并初始化mkHand("secHand", 135)mkHand("minHand", 125)mkHand("hurHand", 90)secHand = turtle.Turtle()secHand.shape("secHand")minHand = turtle.Turtle()minHand.shape("minHand")hurHand = turtle.Turtle()hurHand.shape("hurHand")for hand in secHand, minHand, hurHand:hand.shapesize(1, 1, 3)hand.speed(0)# 建立输出文字Turtleprinter = turtle.Turtle()# 隐藏画笔的turtle形状printer.hideturtle()printer.penup()def SetupClock(radius):# 建立表的外框turtle.reset()turtle.pensize(7)for i in range(60):Skip(radius)if i % 5 == 0:turtle.forward(20)Skip(-radius - 20)Skip(radius + 20)if i == 0:turtle.write(int(12), align="center", font=("Courier", 14, "bold"))elif i == 30:Skip(25)turtle.write(int(i / 5), align="center", font=("Courier", 14, "bold"))Skip(-25)elif (i == 25 or i == 35):Skip(20)turtle.write(int(i / 5), align="center", font=("Courier", 14, "bold"))Skip(-20)else:turtle.write(int(i / 5), align="center", font=("Courier", 14, "bold"))Skip(-radius - 20)else:turtle.dot(5)Skip(-radius)turtle.right(6)def Week(t):week = ["星期一", "星期二", "星期三","星期四", "星期五", "星期六", "星期日"]return week[t.weekday()]def Date(t):y = t.yearm = t.monthd = t.dayreturn "%s %d%d" % (y, m, d)def Tick():# 绘制表针的动态显示t = datetime.today()second = t.second + t.microsecond * 0.000001minute = t.minute + second / 60.0hour = t.hour + minute / 60.0secHand.setheading(6 * second)minHand.setheading(6 * minute)hurHand.setheading(30 * hour)turtle.tracer(False)printer.forward(65)printer.write(Week(t), align="center",font=("Courier", 14, "bold"))printer.back(130)printer.write(Date(t), align="center",font=("Courier", 14, "bold"))printer.home()turtle.tracer(True)# 100ms后继续调用tickturtle.ontimer(Tick, 100)def main():# 打开/关闭龟动画,并为更新图纸设置延迟。turtle.tracer(False)Init()SetupClock(160)turtle.tracer(True)Tick()turtle.mainloop()if __name__ == "__main__":main()
python小海龟turtle绘图作业代码相关推荐
- Python小海龟turtle画汉字
Python小海龟turtle画汉字 打印汉字 如果单纯想在turtle的界面输出汉字,可以直接使用turtle.write 打印出汉字. # 这个函数就是打印汉字 没有移动的轨迹 def write ...
- python小海龟turtle库实现太阳花
python动画turtle库实现一张"太阳花" 一开始看见这张图会思考这要怎么画才好?角度很难找,但仔细缕缕思路弄明白就会很容易了. 首先我们看到这张图是由15根长度为50的圆, ...
- python画图程序-python画图之“小海龟”turtle
"小海龟"turtle是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平 ...
- 海龟画图 python太阳花_python画图之“小海龟”turtle
"小海龟"turtle是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平 ...
- python小海龟画粗细渐变的线_Python 笔记_第一篇_童子功_8. 画图工具 (小海龟 turtle)...
Python 笔记_第一篇_童子功_8. 画图工具 (小海龟 turtle) turtle 是一个简单的绘图工具 提供一个小海龟, 可以把它理解为一个机器人, 只能听懂有限的命令, 且绘图窗口的原点 ...
- python编程小游戏代码-Python小游戏之300行代码实现俄罗斯方块
前言 本文代码基于 python3.6 和 pygame1.9.4. 俄罗斯方块是儿时最经典的游戏之一,刚开始接触 pygame 的时候就想写一个俄罗斯方块.但是想到旋转,停靠,消除等操作,感觉好像很 ...
- python小游戏源码-Python小游戏之300行代码实现俄罗斯方块
Python小游戏之300行代码实现俄罗斯方块 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: Python小游戏之300行代码实现俄罗斯方块.txt ] (友情提示:右键点上 ...
- python小海龟画房子编程_这个python海龟绘图为什么出错?
你这连画布都没有创建呀 还是基础问题,小编来带大家了解一下海归这个模块吧,文末有福利~~ python里面的海龟理解起来有点像真实世界中的海龟.海归背着自己的房子,缓慢地四处爬.在python里面,海 ...
- 用python画小花_用python的小海龟 Turtle 画一朵好看又有趣的小花
1967年, Daniel G. Bobrow , Wally Feurzeig , Seymour Papert 和 Cynthia Solomon 设计了LOGO编程语言,用一种直观的方式教孩子们 ...
最新文章
- GridView里面的HyperLink和ButtonField操作总结
- 计算机科学与应用论文的素材,计算机专业学位论文范文最新资料汇集
- 【高效JDBC编程工具JadePool快速入门】
- 0705 - 说说 NSPopover 的一个坑
- 了解Spring Web初始化
- c语言掌握常用函数,c语言一些常用函数.pdf
- 2017.8.11 亚瑟王 失败总结
- mysql 原理~ 乐观锁和悲观锁
- Python使用标准库urllib模拟浏览器爬取网页内容
- 解决Hbase的几个常见bug
- 绘制自己的人际关系图_绘制自己的人际关系网
- Matlab 边界提取
- 融合多源信息的知识表示学习方法
- POJ-Bound Found | 尺取法+绝对值特性
- 单核CPU与多核CPU工作原理
- 正则表达式判断是不是手机号
- 云原生时代,为什么基础设施即代码(IaC)是开发者体验的核心?
- TMS320C28x系列TMS320F2837x开发板的JTAG仿真器接口、ADC接口
- 哔哩哔哩漫画-下载地址分析
- 整理分享Unity中的绘图插件