实验 6

task 1_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()

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

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

 

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

tas4

from turtle import *
setup(800, 600)
bgcolor('black')
pencolor('white')
speed(0)
angle = 0
size = 1
n = 5 # 螺旋n边形
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')
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

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

 

posted on 2023-06-11 20:45  辣椒味蒲公英  阅读(5)  评论(0编辑  收藏  举报