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

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

时间:2023-06-09 17:56:31浏览次数:42  
标签:turtle moveto 源代码 python 实验 import main def

task1_1

源代码:

from turtle import *

def move(x, y):
    '''画笔移动到坐标(x,y)处'''
    penup()
    goto(x, y)
    pendown()

def draw(n, size = 100):
    '''绘制边长为size的正n变形'''
    for i in range(n):
        fd(size)
        left(360/n)

def main():
    pensize(2)
    pencolor('red')

    move(-200, 0)
    draw(3)

    move(0, 0)
    draw(4)

    move(200, 0)
    draw(5)

    hideturtle()
    done()

main()

  运行结果:

 

task1_2

源代码:

from turtle import *

def moveto(x, y):
    '''把画笔移动至坐标(x, y)处'''
    penup()
    goto(x, y)
    pendown()

def main():
    pensize(2)
    pencolor('blue')

    moveto(-150, 0)
    circle(50)

    moveto(0, 0)
    circle(50, steps = 4)

    moveto(150, 0)
    circle(50, steps = 5)

    moveto(300, 0)
    circle(50, steps = 6)

    hideturtle()
    done()

main()

  运行结果:

 

task2_1

源代码:

'''以(0,0)为圆心,绘制9个同心圆'''

from turtle import *

def moveto(x, y):
    '''把画笔移至坐标(x,y)处'''
    penup()
    goto(x, y)
    pendown()


def main():
    setup(800, 600)

    radius = 20 # 圆初始半径
    offset = 20 # 同心圆每次位移量

    for i in range(9):
        moveto(0, -radius)
        circle(radius)
        radius += offset

    hideturtle()
    done()

main()

  运行结果:

 

task2_2

源代码:

'''以(0, 0)为圆心,绘制9个彩色同心圆,色彩随机生成'''

from turtle import *
from random import random

def moveto(x, y):
    '''把画笔移至坐标(x,y)处'''
    penup()
    goto(x, y)
    pendown()

def gen_color():
    '''生成一个以rgb三元组表示的颜色值并返回'''
    return tuple((random() for i in range(3)))

def main():
    setup(800, 600)

    radius = 180 # 圆初始半径
    offset = 20 # 同心圆每次位移量

    for i in range(8):
        moveto(0, -radius)
        color(gen_color())

        begin_fill()
        circle(radius)
        end_fill()

        radius -= offset

    hideturtle()
    done()
main()

  运行结果:

 

task3_1

源代码:

from turtle import *

def square(size = 50, rgb = 'orange'):
    '''绘制正方形
    :para: size:int 指定边长 (如未指定参数,使用默认值)
    :para: c: str 指定画笔颜色值 (如未指定参数,使用默认值)
    '''

    pencolor(rgb)
    for i in range(4):
        fd(size)
        left(90)

def main():
    setup(800, 600)
    speed(0)

    n = 10
    for i in range(n):
        square(80)
        left(360/n)

    hideturtle()
    done()

main()

  运行结果:

 

 

task3_2

源代码:

from turtle import *

setup(800, 600)
pencolor('pink')

n = 10
for i in range(n):
    for j in range(2):
        circle(80, 90)
        left(90)

    right(360/n)

hideturtle()
done()

  运行结果:

 

task4

源代码:

from turtle import *
setup(800, 600)
bgcolor('black')
pencolor('white')
speed(0)

angle = 0
size = 2

n = 5   #改
count = 50
for i in range(count):
    fd(size)
    angle += 360/n #改
    seth(angle)
    size += 5

hideturtle()
done()

  运行结果:

 

task5_1

源代码:

from turtle import *

def start(x,y):
    penup()
    goto(x,y)
    pendown()

def main(c,n,l):
    color(c)
    begin_fill()
    for i in range(n):
        fd(l)
        left(360/n)
    end_fill()

start(-100,-100)
main('black',4,200)

start(-100,0)
right(45)
main('red',4,100*2**(1/2))

hideturtle()
done()

  运行结果:

 

task5_2

源代码:

from turtle import *
color('blue')
pensize(2)
r = 20
for i in range(5):
    r += 20
    forward(r)
    left(90)
    circle(r,90)
    left(90)
    forward(r)
    left(90)
    forward(40)
    goto(0,0)
hideturtle()
done()

  运行结果:

 

task6

源代码:

from turtle import *

def moveto(x,y):
    penup()
    goto(x,y)
    pendown()

bgcolor('black')

moveto(200,-200)
color('yellow')
begin_fill()
left(135)
fd(200)
right(90)
fd(200)
left(90)
circle(200,270)
end_fill()

moveto(80,70)
dot(40,'black')
moveto(72,76)
dot(10,'white')

hideturtle()
done()

  运行结果:

 

标签:turtle,moveto,源代码,python,实验,import,main,def
From: https://www.cnblogs.com/3100974046y/p/17469898.html

相关文章

  • Python 元组
    Tuple数据类型一、如何创建元组>>>t=(1,2,3,'root')>>>t(1,2,3,'root')二、元组和列表的区别list是一种有序的集合,可以随时添加和删除其中的元素。元组也是一种有序列表,和list非常类似,不同点是tuple一旦定义了就不可修改,在一定意义上这也提高了代码的安全性......
  • python-类作为装饰器的各种情况
    1.装饰器没有参数:这时foo不再是之前的函数名而是类ClassDeco的一个对象,并且foo.func=foo,对象名()会触发类ClassDeco的__call__方法:classClassDeco:def__init__(self,func):self.func=funcdef__call__(self,*args,**kwargs):print(f'Runni......
  • Python 用户登录程序
    用户登录程序任务内容1、输入用户名和密码2、认证成功后显示欢迎信息3、输错3次后锁定流程图代码1、主文件importsyslock="lock.txt"logfile="login.txt"login_info=0i=0whilei<3andlogin_info==0:name=input("Pleaseinputyourname......
  • python selenium 模拟实现滑块验证码
    canndy_test.pyimportcv2importnumpyasnpdefmatchImg(imgPath1,imgPath2):imgs=[]#原始图像,用于展示sou_img1=cv2.imread(imgPath1)sou_img2=cv2.imread(imgPath2)#原始图像,灰度#最小阈值100,最大阈值500img1=cv2......
  • Python程序与设计
    2-27在命令行窗口中启动的Python解释器中实现在Python自带的IDLE中实现print("Helloworld")编码规范每个import语句只导入一个模块,尽量避免一次导入多个模块不要在行尾添加分号“:”,也不要用分号将两条命令放在同一行建议每行不超过80个字符使用必要的空行可以增加代码的可读性运算......
  • python3-类的专有方法
    1、介绍专有方法,具有私有方法的特性,即只能在类中被调用,是编程语言所准备的特殊作用的方法。2、方法说明2.1__init__构造方法,在对象创建时被调用。可以在方法中声明对象属性,以及其它初始化操作2.2__del__删除方法,当对象被释放时调用,可以在其中写一些对象结束时操作的代码......
  • python010 控制多台同类型设备
    defauto_find():rm=pyvisa.ResourceManager()devices=rm.list_resources()print(devices)ins_dict={'p1':None,'p2':None,'m1':None,'m2':None}counts={'p1':0,'p2'......
  • python gunicorn详解
    Gunicorn是一个unix上被广泛使用的高性能的PythonWSGIUNIXHTTPServer。和大多数的web框架(flask)兼容,并具有实现简单,轻量级,高性能等特点。 通过Gunicorn来启动flask框架defstart_app_by_system(args,app,options):"""启动配置项:paramargs:参数......
  • Python List
    List数据类型一、创建一个列表用把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:>>>name_list=["root","gm","hlr"]二、访问列表中的值使用下标索引来访问列表中的值,与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。>>>name_list['root',......
  • python3 del关键字
    1、介绍python中,del关键字可以用于销毁对象。一方面,可以用于实现业务,比如删除集合的元素。另一方面,可以节约内存资源,提升程序效率。 classStu:def__init__(self):self.name='abc'def__del__(self):print('del')stu_1=Stu()stu_2=S......