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