实验6

1.实验任务1

task1_1.py

实验代码:

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

实验代码:

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()

实验结果截图:

 

2.实验任务2

task2_1.py

实验代码:

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

实验代码:

from turtle import *
from random import random

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

def gen_color():
    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()

 

实验结果截图:

 

 

3.实验任务3

task3_1.py

实验代码:

from turtle import *

def square(size = 50, rgb = 'pink'):

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

实验代码:

from turtle import *

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

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

    right(360/n)

hideturtle()
done()

实验结果截图:

 

4.实验任务4

task4.py

实验代码:

from turtle import *

setup(1600,1200)
bgcolor('black')
pencolor('white')
speed(0)

angle=0
size=1

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

hideturtle()
done()

实验结果截图:

 

5.实验任务5

task5_1.py

实验代码:

from turtle import *

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

def draw(n,c,size = 100):
    color(c)
    begin_fill()

    for i in range(n):
        fd(size)
        left(360/n)
    end_fill()

move(-100,-100)
draw(4,'black',200)

move(-100,0)
right(45)
draw(4,'red',100*(2)**0.5)

hideturtle()
done()

 

实验结果截图:

 task5_2.py

实验代码:

from turtle import *

pensize(2)
def move(x,y):
    penup()
    goto(x,y)
    pendown()
def quarter_round(r):
    pencolor('blue')
    move(0,r)
    circle(-r,90)
    for i in range(2):
        right(90)
        fd(r)
    home()

radius=40
offset=20
for i in range(5):
    quarter_round(radius)
    radius+=offset
hideturtle()
done()

 

实验结果截图:

 6.实验任务6

实验代码:

from turtle import *
speed(0)
def move(x,y):
    penup()
    goto(x,y)
    pendown()
bgcolor('black')
color('yellow')
move(0,-100)
begin_fill()
circle(100)
end_fill()
color('black')
move(87,-51)
seth(60)
begin_fill()
circle(100,60)
home()
end_fill()
move(-30,50)
dot(30,'black')
move(-38,58)
dot(5,'white')
hideturtle()
done()

实验结果截图:

 

posted @ 2023-06-07 11:34  小熊tot  阅读(11)  评论(0)    收藏  举报