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 _ 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 square(size = 50, rgb = 'pink'): """绘制正方形 :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,rgb = 'orange') 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# 螺旋n边形 count = 50 # 循环次数 for i in range(count): fd(size) angle += 360/n seth(angle) size += 5 hideturtle() done()
实验结果:
task5_1
实验源码:
from turtle import * square = Turtle() square.color('black') square.penup() square.goto(-100,-100) square.pendown() square.begin_fill() for _ in range(4): square.fd(200) square.left(90) square.end_fill() s2 = Turtle() s2.color('red') s2.penup() s2.goto(0,-100) s2.pendown() s2.left(45) s2.begin_fill() for _ in range(4): s2.fd(100*(2**0.5)) s2.left(90) s2.end_fill() done()
实验结果:
task5_2
实验源码:
from turtle import * sector = Turtle() # 初始化绘图参数 sector.penup() sector.goto(0, 0) sector.color('blue') sector.pensize(2) sector.speed(0) # 设置扇形数值 radius = 40 delta_d = 20 sector.pendown() for _ in range(5): sector.fd(radius) sector.left(90) sector.circle(radius, extent=90) sector.seth(270) sector.fd(radius) sector.seth(0) radius += delta_d done()
实验结果:
task6
实验源码:
from turtle import * from random import random strip = Turtle() setup(800, 600) strip.speed(0) # 获取颜色 def colors(): return tuple(random() for _ in range(3)) strip.pendown() for i in range(10): strip.color(colors()) strip.begin_fill() for _ in range(2): strip.fd(20) strip.left(90) strip.fd(60) strip.left(90) strip.fd(20) strip.end_fill() strip.penup() strip.goto(0, 0) strip.pendown() for i in range(10): strip.color(colors()) strip.begin_fill() strip.seth(180) for _ in range(2): strip.fd(20) strip.right(90) strip.fd(60) strip.right(90) strip.fd(20) strip.end_fill() strip.hideturtle() done()
实验结果:
总结:学习了turtle模块的用法,还需继续练习。
标签:turtle,sector,python,fd,range,绘图,strip,radius From: https://www.cnblogs.com/scy2003/p/17471786.html