首页 > 编程语言 >实验6 turtle绘图与python库应用编程体验

实验6 turtle绘图与python库应用编程体验

时间:2023-06-09 12:44:27浏览次数:51  
标签:turtle 10 moveto 20 python 绘图 fill def left

实验任务1:
task1_1

实验源码:

 1 from turtle import *
 2 
 3 
 4 def move(x, y):
 5     penup()
 6     goto(x, y)
 7     pendown()
 8 
 9 
10 def draw(n, size=100):
11     for i in range(n):
12         fd(size)
13         left(360/n)
14 
15 
16 def main():
17     pensize(2)
18     pencolor('red')
19 
20     move(-200, 0)
21     draw(3)
22 
23     move(0, 0)
24     draw(4)
25 
26     move(200, 0)
27     draw(5)
28 
29     hideturtle()
30     done()
31 
32 
33 main()

运行截图:

 

 

task1_2

实验源码:

 1 from turtle import *
 2 
 3 
 4 def moveto(x, y):
 5     penup()
 6     goto(x, y)
 7     pendown()
 8 
 9 
10 def main():
11     pensize(2)
12     pencolor('blue')
13 
14     moveto(-150, 0)
15     circle(50)
16 
17     moveto(0, 0)
18     circle(50, steps=4)
19 
20     moveto(150, 0)
21     circle(50, steps=5)
22 
23     moveto(300, 0)
24     circle(50, steps=6)
25 
26     hideturtle()
27     done()
28 
29 
30 main()

运行截图:

 

 

 

实验任务2:
task2_1

实验源码:

 1 from turtle import *
 2 
 3 
 4 def moveto(x, y):
 5     penup()
 6     goto(x, y)
 7     pendown()
 8 
 9 
10 def main():
11     setup(800, 600)
12 
13     radius = 20     # 圆初始半径
14     offset = 20     # 同心圆每次位移量
15 
16     for i in range(9):
17         moveto(0, -radius)
18         circle(radius)
19         radius += offset
20 
21     hideturtle()
22     done()
23 
24 
25 main()

运行截图:

 

 

task2_2

实验源码:

 1 from turtle import *
 2 from random import random
 3 
 4 
 5 def moveto(x, y):
 6     penup()
 7     goto(x, y)
 8     pendown()
 9 
10 
11 def gen_color():
12     return tuple((random() for i in range(3)))
13 
14 
15 def main():
16     setup(800, 600)
17 
18     radius = 180     # 圆初始半径
19     offset = 20     # 同心圆每次位移量
20 
21     for i in range(8):
22         moveto(0, -radius)
23         color(gen_color())
24 
25         begin_fill()
26         circle(radius)
27         end_fill()
28 
29         radius -= offset
30 
31     hideturtle()
32     done()
33 
34 
35 main()

运行截图:

 

 

 

实验任务3:
task3_1

实验源码:

 1 from turtle import *
 2 
 3 
 4 def square(size=50, rgb='pink'):
 5     """
 6     绘制正方形
 7     :para: size:int 指定边长 (如未指定参数,使用默认值)
 8     :para: c: str 指定画笔颜色值 (如未指定参数,使用默认值)
 9     """
10     pencolor(rgb)
11     for i in range(4):
12         fd(size)
13         left(90)
14 
15 
16 def main():
17     setup(800, 600)
18     speed(0)
19 
20     n = 10
21     for i in range(n):
22         square(80, rgb='orange')
23         left(360/n)
24 
25     hideturtle()
26     done()
27 
28 
29 main()

运行截图:

 

 

task3_2

实验源码:

 1 from turtle import *
 2 
 3 speed(0)
 4 setup(800, 600)
 5 pencolor('pink')
 6 
 7 n = 10
 8 for i in range(10):
 9     # 绘制一片花瓣
10     for j in range(2):
11         circle(80, 90)
12         left(90)
13 
14     right(360/n)
15 
16 hideturtle()
17 done()

运行截图:

 

 

 

实验任务4:
task4

实验源码:

 1 from turtle import *
 2 
 3 setup(800, 600)
 4 bgcolor('black')
 5 pencolor('white')
 6 speed(0)
 7 
 8 angle = 0
 9 size = 2
10 
11 n = 5       # 螺旋n边形
12 count = 50  # 循环次数
13 for i in range(count):
14     fd(size)
15     angle += 360/n
16     seth(angle)
17     size += 5
18 
19 hideturtle()
20 done()

运行截图:

 

 

 

实验任务5:
task5_1

实验源码:

 1 from turtle import *
 2 
 3 
 4 def moveto(x, y):
 5     penup()
 6     goto(x, y)
 7     pendown()
 8 
 9 
10 setup(800, 600)
11 speed(0)
12 moveto(-100, -100)
13 
14 
15 def fill_square(rgb, sl):
16     fillcolor(rgb)
17     begin_fill()
18     for i in range(4):
19         fd(sl)
20         left(90)
21     end_fill()
22     hideturtle()
23 
24 
25 fill_square('black', 200)
26 
27 moveto(0, -100)
28 left(45)
29 fill_square('red', 100*2**0.5)
30 
31 done()

运行截图:

 

 

task5_2

实验源码:

 1 from turtle import *
 2 
 3 setup(400, 400)
 4 pencolor('blue')
 5 pensize(2)
 6 speed(0)
 7 
 8 
 9 def func(n, r):
10     for i in range(n):
11         fd(r)
12         left(90)
13         circle(r, 90)
14         left(90)
15         fd(r)
16         left(90)
17         r += 20
18 
19 
20 func(5, 40)
21 hideturtle()
22 done()

运行截图:

 

 

 

实验任务6:
task6_1

实验源码:

 1 from turtle import *
 2 from random import random
 3 
 4 setup(800, 600)
 5 speed(0)
 6 penup()
 7 goto(-200, 0)
 8 pendown()
 9 
10 
11 def get_color():
12     return tuple(random() for i in range(3))
13 
14 
15 def rect(width, length):
16     for i in range(20):
17         rgb = get_color()
18         pencolor(rgb)
19         fillcolor(rgb)
20         begin_fill()
21         fd(width)
22         left(90)
23         fd(length)
24         left(90)
25         fd(width)
26         left(90)
27         fd(length)
28         left(90)
29         end_fill()
30         fd(width)
31 
32 
33 rect(20, 80)
34 hideturtle()
35 done()

运行截图:

 

 

task6_2

实验源码:

 1 from turtle import *
 2 
 3 setup(600, 600)
 4 bgcolor('black')
 5 fillcolor('yellow')
 6 speed(0)
 7 
 8 begin_fill()
 9 left(45)
10 fd(120)
11 left(90)
12 circle(120, 270)
13 left(90)
14 fd(120)
15 end_fill()
16 
17 
18 def moveto(x, y):
19     penup()
20     goto(x, y)
21     pendown()
22 
23 
24 def fill_circle(r, rgb):
25     fillcolor(rgb)
26     begin_fill()
27     left(180)
28     circle(r)
29     end_fill()
30 
31 
32 moveto(0, 60)
33 fill_circle(10, 'black')
34 
35 moveto(8, 74)
36 fill_circle(4, 'white')
37 
38 
39 hideturtle()
40 done()

运行截图:

 

标签:turtle,10,moveto,20,python,绘图,fill,def,left
From: https://www.cnblogs.com/xrl1113/p/17468948.html

相关文章

  • python - execjs使用crypto-js
    最近在研究一个网站发现网站使用了des加密,觉得使用python调用js可读性比较高,所以使用了以下方法来实现该网站的内容解密1.安装PyExecJSpip3installPyExecJs2.安装node.jshttps://nodejs.org/en/download3.node安装jsdom,crypto-js可以到py文件目录在运行npm,方便调用np......
  • python操作excel之 openpyxl
    python操作excel在我们的工作中经常会用到,操作用例读取对应信息进行接口自动化pythonExcel库对比图片我们发现可以操作excel的库有很多种,我们常用的就三种方法第三方库xlwt/xlrd:用于生成和读取比较老的excel文件,比如xls格式,最大行数限制为65536行。其中xlrd是读excel,xlwt是写exc......
  • python-opencv之人脸检测
    引用网址:https://www.it610.com/article/1546269872961425408.htm文章目录一、概述二、相关概念三、实际操作1.图片检测2.打开摄像头进行人脸检测 一、概述`本文为我学习python环境下用opencv检测人脸的内容总结。二、相关概念##opencv中提供了三种训练好的级联分类器(通过不同特......
  • Python是不是被严重高估了?
    目前来说,Python是一门非常流行的编程语言,它具有简单易学、代码可读性高、拥有丰富的第三方库等优点,因此在很多领域都得到了广泛的应用。但是,对于不同的应用场景和需求,不同的编程语言都有其优劣之处,没有一种编程语言是完美的。因此,我认为Python并没有被严重高估,而是在适合的领域得到......
  • Python基础语法学习
    基础语法1、常量、表达式print(1+2-4)print(1+3*4)形如:1+2-3这个就叫表达式,表达式的结果叫做叫做返回值123这样的数字称为字面值常量,+-*叫做运算符注意在py中2/3=0.66666而不是c语言中的0在C中整数除整数结果还是整数且会把小数直接舍去,在编程中一般不会有......
  • 记录一次 nas docker 运行出错 使用Python脚本检查错误并重启对应容器 npc 运行出
    importosimporttimeimportdatetimeimportsubprocessimportmysql.connector#Docker容器名称container_name="containerName"#MySQL数据库连接配置db_host="localhost"db_user="*********"db_password="*********"db_......
  • Python 协程池,异步IO非阻塞式,http 请求
    先写个FlaskdemoimporttimefromflaskimportFlaskapp=Flask(__name__)@app.route('/<id>')defhello(id):time.sleep(2)return'Hello,World!:%s'%idif__name__=='__main__':app.run()协程请求import......
  • Python爬虫基础知识点
    Python爬虫是使用Python编写的程序,可以自动抓取互联网上的数据。常用的Python爬虫框架包括Scrapy、BeautifulSoup、Requests等。Python爬虫可以应用于众多场合,如大数据分析、信息监测、数据挖掘和机器学习等领域。那么新手应该如何学习python爬虫呢?以下是Python爬虫的基础知识:1......
  • 怎么快速掌握Python爬虫技术?
    Python总的来说是一门比较容易入门的编程语言,因为它的语法简洁易懂,而且有很多优秀的教程和资源可供学习。相比其他编程语言,Python的学习曲线较为平缓,初学者可以很快上手,但要想深入掌握Python,还需要不断地学习和实践。总的来说,Python学习并不难,只要有兴趣和耐心,坚持不懈地学习,就......
  • python 爬虫某东网商品信息 | 没想到销量最高的是
    哈喽大家好,我是咸鱼好久没更新python爬虫相关的文章了,今天我们使用selenium模块来简单写个爬虫程序——爬取某东网商品信息网址链接:https://www.jd.com/完整源码在文章最后元素定位我们需要找到网页上元素的位置信息(xpth路径)我们首先需要知道搜索框和搜索按钮的位置,然......