吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1699|回复: 1
收起左侧

[Python 转载] 【笔记】练习 绘制同心圆与绘制棋盘

[复制链接]
cccyyys 发表于 2021-6-10 11:04
接昨天笔记,因为之前已经学过一部分,但是没有在吾爱分享,现在开始了,希望自己能坚持下来!
正题:
绘制同心圆:
按照思路先一步一步来吧
1、绘制同心圆需引入turtle模块   import turtle
2、先绘制一个圆,半径先暂定50  turtle.circle(50)
3、因为需要画同心圆,所以需要圆心坐标一致,第一个圆圆心为(0,50),我们可以将指针移动至(0,-50),画一个半径为100的圆(或者y轴移动至-20,半径为70,保证圆心在(0,50)就可以了)    turtle.goto(0,-50)   turtle.circle(100)
4、暂时两个同心圆就完成了,但是中间会有移动线条,所以可以利用pendown()、penup()把线条取消
5、可以通过移动画笔在画一个同心圆,将坐标移至(0-100),半径150画圆
这就是以上代码了
[Python] 纯文本查看 复制代码
#绘制同心圆
import turtle
t = turtle.Pen() #获取画笔

t.circle(50)

t.penup()
t.goto(0,-50)
t.pendown()
t.circle(100)

t.penup()
t.goto(0,-100)
t.pendown()
t.circle(150)
turtle.done()  #操作完成后,窗口不会关闭

通过画以上3个同心圆,我们发现或同心圆是有规律可循的,就上面举例来说是指针每次向下移动50,半径每次递增50,那我们就可以利用循环画圆了;
6、首先先写一个循环,然后将我们发现的规律写到循环里面
[Python] 纯文本查看 复制代码
for i in range(5):#0、1、2、3、4
    t.penup()
    t.goto(0, -i*50-50) #-50、-100、-150、-200、-250
    t.pendown()
    t.circle(i*50+100)

这样就是一个简单的循环了
然后还可以将每一个同心圆变成不同的颜色
[Python] 纯文本查看 复制代码
my_colors =('red','yellow','green','black')
t.circle(50)
for i in range(5):#0、1、2、3、4
    t.penup()
    t.goto(0, -i*50-50) #-50、-100、-150、-200、-250
    t.pendown()
    t.color(my_colors[i%len(my_colors)])#因为变量和my_colors变量长度不一致,所以需要用取余数方法访问元组中的字符串
    t.circle(i*50+100)

整体的同心圆代码如下:
[Python] 纯文本查看 复制代码
#绘制同心圆
import turtle
t = turtle.Pen() #获取画笔
t.width(4)
t.speed(0)
my_colors =('red','yellow','green','black')
t.circle(50)

for i in range(5):#0、1、2、3、4
    t.penup()
    t.goto(0, -i*50-50) #-50、-100、-150、-200、-250
    t.pendown()
    t.color(my_colors[i%len(my_colors)])#因为变量和my_colors变量长度不一致,所以需要用取余数方法访问元组中的字符串
    t.circle(i*50+100)

turtle.done()  #操作完成后,窗口不会关闭

绘制棋盘
同理,首先先分析一下,棋盘是有横竖线组成,所以也可以用turtle模块画出,我们可以先画一个10*10的小棋盘
先画横线,将指针移至(200,0),画出第一道横线,然后将指针移动至(0,-20),再移动至(200,-20),画出第二道横线
通过以上可以看出,我们同样可以用循环画出一个棋盘,每次指针下移20,然后画横线
开始写循环
[Python] 纯文本查看 复制代码
import turtle
t = turtle.Pen()

t.goto(200,0)
for i in range(10):
    t.penup()
    t.goto(0,-20*i-20)
    t.pendown()
    t.goto(200,-20*i-20)

同理竖线也可以用循环写,代码就不放了
整体棋盘代码如下:
[Python] 纯文本查看 复制代码
#绘制棋盘import turtle
t = turtle.Pen()

t.goto(200,0)
for i in range(10):
    t.penup()
    t.goto(0,-20*i-20)
    t.pendown()
    t.goto(200,-20*i-20)
t.penup()
t.goto(0,0)
t.right(90)
t.pendown()
t.goto(0,-200)
for i in range(10):
    t.penup()
    t.goto(20+i*20,0)
    t.pendown()
    t.goto(20+i*20,-200)

turtle.done()

终于写完了,太累了,而且感觉写的还是抓不住重点。。。。。另外我是小白一个,有什么错误还请大家批评指正,谢谢

免费评分

参与人数 2吾爱币 +6 热心值 +2 收起 理由
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
seeyou_shj + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

红蓝黄 发表于 2021-6-10 16:32
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 15:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表