python画内嵌套正方形(详解)

用python画内嵌套正方形

博主新建的Python学习QQ群分享一些实用的学习工具和疑问解答以及源码分享欢迎加入:431615454

要画嵌套正方形首先要画出正方形
  1. 如果位置没有要求可以这样
from turtle import *
pencolor('red')
pensize(5)
for i in range(4):#循环四次,四条边
  fd(100)#正方形边长100像素
  lt(90)#画笔向左转90度

在这里插入图片描述

  1. 如果要在画布中央画的话则要计算画笔的起始位置(应该是画笔向下移动边长的一半)如:
from turtle import *
pencolor('red')
pensize(5)
bian=100#设置正方形边长为100
pu()#抬笔
rt(90)#右转90度
fd(bian/2)#向下移动半个边长
lt(90)#左转90度,画笔方向转回向东
pd()#放下画笔开始绘画
fd(bian/2)#先向东移动半个边长(画半个底边)
for i in range(3):#循环三次画右、上、左三边
  lt(90)#向左转90度
  fd(bian)#正方形边长
lt(90)#向左转90度准备画底边剩下一半
fd(bian/2)#画另外半个底边

效果图:(正方形已在画布中央位置)
在这里插入图片描述

内嵌正方形应该是在以上情况中加上一个外循环,在第二种方法的基础上画内嵌套正方形

from turtle import *
pencolor('red')
pensize(5)
bian=100
jiange=10#设置间隔
pu()
for j in range(4):#j为嵌套层数
  rt(90)
  if j==0:
    fd(bian/2)#第一次循环画笔向下走半个边长
  else:
    fd(jiange)#每次循环向下额外移动jiange长度的距离
  lt(90)
  pd()
  fd(bian/2+jiange*j)#加间隔长度
  for i in range(3):
    lt(90)
    fd(bian+2*j*jiange)#加二倍间隔
  lt(90)
  fd(bian/2+jiange*j)
  pu()#增加这行代码,每画一个正方形就抬笔

在这里插入图片描述
对大家有帮助的话不要忘记点赞、收藏哦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闫海南

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值