今天看到第二章了,写点课后习题练练手。
from turtle import *
setup(650,350,None,None) #设置turtle窗口的长宽and离屏幕左右的距离 两个None是默认在屏幕中间
color('red')
width(4)
for i in range(1,10):
penup()
goto(0,-i*10) #每次画完一个圆都让海龟起点向下移动 避免重叠
pendown()
circle(10+i*10) #半径随之变大
done()
画出来是这样的,不知道为什么看起来不是很圆。
图上有自己的笔记,就懒得擦掉了。刚开始的想法是用笔画为单位,后来发现思路错了,应该是把一条边作为单位。
from turtle import *
for i in range(4):
penup()
fd(50)
pendown()
fd(100)
penup()
fd(50)
left(90)
这个题刚开始没啥思路,网上找了一圈发现大部分代码都好麻烦..遂决定自己研究。
把它分解成两个等边三角形,S点为起点出发。
from turtle import *
import math
seth(30) #①的起始角度30度
for i in range(3):
fd(120) #便于3等分
left(120) #逆时针转3圈
seth(0) #海龟重新面向x轴
penup()
fd(40*math.sqrt(3)) #一通计算得出来的长度
seth(90)
pd() #pendown放下画笔
for i in range(3): #第二个三角形
fd(120)
left(120)
from turtle import *
width(4)
seth(90)
m=1 #用来控制长度的
speed(10) #控制速度 因为我无聊循环100次 想让海龟爬快点
for i in range(100): #这个就是转几圈
for j in range(4): #4个边
fd(10*m) #每次长度都拉长
seth(90*(j+1)) #转方向
m=m+1 #控制长度