Python学习日记 Day2-同心圆、无角正方形、六角形、正方形螺线

        今天看到第二章了,写点课后习题练练手。

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           #控制长度
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值