实验六

任务1:

from turtle import *
def move(x,y):
    penup()
    goto(x,y)
    pendown()
def draw(n,size=100):
    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()

运行结果:

任务2:

from turtle import *
def moveto(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.1:

from turtle import *
def moveto(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()

运行结果:

任务2.2:

from turtle import *
from random import random
def moveto(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.1:

from turtle import*
def squre(size=50,rgb='pink'):
    pencolor(rgb)
    for i in range(4):
        fd(size)
        left(90)
def main():
    setup(800,600)
    speed(0)
    n=9
    for i in range(n):
        squre(80)
        left(360/n)
    hideturtle()
    done()
main()

运行结果:

任务3.2:

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:

from turtle import *
setup(800,600)
bgcolor('black')
pencolor('white')
speed(0)
angle=0
size=2
n=4
count=50
for i in range(count):
    fd(size)
    angle+=360/n+1
    seth(angle)
    size+=5
hideturtle()
done()

运行结果:

任务5.1:

from turtle import *
def move(x,y):
    penup()
    goto(x,y)
    pendown()
move(-100,0)
begin_fill()
for i in range(4):
    fd(200)
    left(90)
end_fill()
move(0,0)
begin_fill()
pencolor('red')
fillcolor('red')
left(45)
for i in range(4):
    fd(100*2**0.5)
    left(90)
end_fill()
hideturtle()
done()

运行结果:

任务5.2:

from turtle import *
def move(x,y):
    penup()
    goto(x,y)
    pendown()
pensize(2)
pencolor('blue')
speed(0)
r = 40
move(0,-r)
for i in range(5):
    circle(r)
    r+=20
    move(0,-r)
move(-120,0)
begin_fill()
fillcolor('white')
pencolor('white')
for i in range(4):
    fd(120)
    left(90)
end_fill()
move(-120,-120)
begin_fill()
fillcolor('white')
pencolor('white')
for i in range(4):
    fd(120)
    left(90)
end_fill()
move(0,-120)
begin_fill()
fillcolor('white')
pencolor('white')
for i in range(4):
    fd(120)
    left(90)
end_fill()
pencolor('blue')
move(0,0)
fd(120)
move(0,0)
left(90)
fd(120)
hideturtle()
done()

运行结果:

任务6:

from turtle import *

setup(800,600)
speed(0)

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

bgcolor('black')

move(0,-100)
pencolor('yellow')
fillcolor('yellow')
begin_fill()
circle(100)
end_fill()

pencolor('black')
move(0,0)
begin_fill()
fillcolor('black')
right(45)
for i in range(4):
    fd(100)
    left(90)

move(0,50)
circle(16)
end_fill()

pencolor('white')
fillcolor('white')
begin_fill()
move(-4*2**0.5,50+4*2**0.5)
circle(4)
end_fill()

hideturtle()
done()

运行结果:

 

posted @ 2023-06-12 10:12  吃花椒de猫  阅读(21)  评论(0)    收藏  举报