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

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

时间:2023-06-11 16:35:16浏览次数:45  
标签:turtle 10 moveto 20 python range 绘图 main def

实验任务1

task1_1.py

程序源码:

 1 from turtle import *
 2 
 3 def move(x, y):#画笔移动到坐标(x,y)处
 4     penup()
 5     goto(x, y)
 6     pendown()
 7 
 8 def draw(n, size = 100):#绘制边长为size的正n变形
 9     for i in range(n):
10         forward(size)
11         left(360/n)
12 
13 def main():
14     pensize(2)
15     pencolor('red')
16     move(-200, 0)
17     draw(3)
18     move(0, 0)
19     draw(4)
20     move(200, 0)
21     draw(5)
22     hideturtle()
23     done()
24 main()

运行测试截图:

task1_2.py

程序源码:

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

运行测试截图:

 实验任务2

task2_1.py

程序源码:

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

运行测试截图:

 task2_2.py

程序源码:

 1 '''以(0, 0)为圆心,绘制9个彩色同心圆,色彩随机生成'''
 2 
 3 from turtle import *
 4 from random import random
 5 
 6 def moveto(x,y):
 7     penup()
 8     goto(x,y)
 9     pendown()
10 
11 def gen_color():
12     return tuple(random() for i in range(3))
13 
14 def main():
15     setup(800,600)
16 
17     radius=180
18     offset=20
19 
20     for i in range(8):
21         moveto(0,-radius)
22         color(gen_color())
23 
24         begin_fill()
25         circle(radius)
26         end_fill()
27 
28         radius-=offset
29 
30     hideturtle()
31     done()
32 
33 main()

运行测试截图:

 

实验任务3

task3_1.py

程序源码:

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

运行测试截图:

 task3_2.py

程序源码:

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

运行测试截图:

 实验任务4

task4.py

程序源码:

 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.py

程序源码:

 1 from turtle import *
 2 
 3 def moveto(x,y):
 4     penup()
 5     goto(x,y)
 6     pendown()
 7 
 8 def square():
 9     for i in range(4):
10         fd(200)
11         left(90)
12 def main():
13     moveto(-100, -100)
14     color('black')
15     begin_fill()
16     square()
17     end_fill()
18     
19     moveto(0, -100)
20     color('red')
21     begin_fill()
22     circle(100, steps=4)
23     end_fill()
24 
25     hideturtle()
26     done()
27 
28 main()

运行测试截图:

 task5_2.py

程序源码:

 1 from turtle import *
 2 
 3 pensize(2)
 4 pencolor('blue')
 5 
 6 def main():
 7     for i in range(5):
 8         fd(40+20*i)
 9         left(90)
10         circle(40+20*i,90)
11         left(90)
12         fd(40+20*i)
13         left(90)
14 
15     hideturtle()
16     done()
17 
18 main()

运行测试截图:

 实验任务6

task6.py

程序源码:

 1 from turtle import *
 2 from random import random
 3 
 4 def moveto(x,y):
 5     penup()
 6     goto(x,y)
 7     pendown()
 8 
 9 def gen_color():
10     return tuple(random() for i in range(3))
11 
12 def square():
13     color(gen_color())
14     begin_fill()
15     for i in range(2):
16         fd(10)
17         left(90)
18         fd(25)
19         left(90)
20     end_fill()
21 
22 setup(800,600)
23 
24 moveto(-50,0)
25 for i in range(20):
26     square()
27     fd(10)
28 
29 hideturtle()
30 done()

运行测试截图:

 

标签:turtle,10,moveto,20,python,range,绘图,main,def
From: https://www.cnblogs.com/cl040302/p/17473124.html

相关文章

  • python: Decorators
      #装饰器defprintpy(func):definner_func():func()print("hellopython!GeovinDu")returninner_func#@装饰器@printpydefprinthello():print("helloworld!")#调用printhello()'''De......
  • Python modbus_tk 库源码分析
    modbus_tk源代码分析前言modbus_tcp协议是工业项目中常见的一种基于TCP/IP协议的设备数据交互协议。作为TCP/IP协议的上层协议,modbus_tcp协议涉及到两个概念:client和server。但更标准的叫法应该是master和slave。Slave:TCP/IP协议中的server方Master:TCP/IP协......
  • 实验六 turtle绘图与python库应用编程体验
    1fromturtleimport*234defmove(x,y):5penup()6goto(x,y)7pendown()8910defdraw(n,size=100):11foriinrange(n):12fd(size)13left(360/n)141516defmain():17pensize(2)18pen......
  • python: generator
    a=10defaddgoled():globalaa+=1dd=[{'name':'zhang','age':10},{'name':'tu','age':13}]d={'name':'zhang','age':10}defadddict():globald#......
  • 实验6 turtle绘图与python库应用编程体验
    task1_11fromturtleimport*234defmove(x,y):5penup()6goto(x,y)7pendown()8910defdraw(n,size=100):11foriinrange(n):12fd(size)13left(360/n)141516defmain():17pensize(2)18......
  • Linux下安装python3.7.9
    操作系统与原有python[pythondemo@localhost~]$cat/etc/centos-releaseCentOSLinuxrelease7.4.1708(Core)[pythondemo@localhost~]$pythonPython2.7.5(default,Aug42017,00:39:18)[GCC4.8.520150623(RedHat4.8.5-16)]onlinux2Type"help",......
  • python第一次cli程序的坑
    错误一:appacheerror记录到错误:AH01215:(13)Permissiondenied:execof'/var/www/cgi-bin/cli_test.py'failed1.对应程序加上执行权限2.selinux=disable3.指定安全上下文 chcon-R-thttpd_sys_content_t/var/www/cgi-bin这三个方法可以试一下错误二:malformedheade......
  • 【技术积累】Python中的Pandas库【三】
    什么是SeriesSeries是一种带有标签的一维数组,可以容纳各种类型的数据(例如整数,浮点数和字符串)。每个Series对象都有一个索引,它可以用来引用每个元素。Series对象的主要特征是可以进行矢量化操作(即一次对整个序列进行操作),因此非常适合处理数值数据。什么是DataFrame?DataFrame是一......
  • Python实现猜拳小游戏的多种方式
    简介猜拳小游戏是一个经典的小游戏项目,也是初学者学习编程的必要练手题目之一。在Python中,我们可以使用多种方式来实现一个简单的猜拳小游戏。本文将依次介绍六种Python实现猜拳小游戏的方法,包括:使用if-else条件语句、使用random模块、使用字典映射胜负关系、for循环、whi......
  • python数组避坑操作(比如删除数组中的所有0)
    一、演示坑tracks=[0,0,0,1,1,1]fortrackintracks:iftrack==0:tracks.remove(track)print(tracks)#[0,1,1,1]发现:有一个0没有被删去,why???二、这次遍历时,带上索引打印tracks=[0,0,0,1,1,1]forindex,trackinenumerate(tracks......