练习题(同心圆和棋盘)

整合之前学习的知识,使用循环结构绘出同心圆和棋盘

同心圆

数学推导

在这里插入图片描述

程序编辑
// An highlighted block
import turtle
import random
t=turtle.Pen()
my_colors=('red','green','yellow','black')   #建立颜色的元组
t.width(4)   #设置画笔的宽度
t.speed(50)   #设置绘画的速度
for i in range(0,20):   #设计同心圆的个数
    t.penup()
    t.goto(0,-i*10)   #每次画圆是起始点的位置,确保每次的圆心不变
    t.pendown()
    t.color(my_colors[int(random.randint(0,len(my_colors)-1))])    #每次画圆是随机选择颜色
    t.circle(20+i*10)   #圆的半径是20,然后循环的时候半径每次增加10
turtle.done()

在这里插入图片描述
在这里插入图片描述
由于画笔的颜色是随机选择的,因此每次画出的圆的颜色大概率是不同的。

棋盘

数学推导

在这里插入图片描述

程序编辑
// An highlighted block
import turtle
#将棋盘的坐标分为x轴和y轴,然后分别进行操作,这样比一起进行循环操作要清晰的多
x=turtle.Pen()   #x轴的画笔
y=turtle.Pen()   #y轴的画笔
x.width(4)   #设置画笔的宽度
y.width(4)

for i in range(0,20):   #设计棋盘的大小,(15*20)*(15*20)
    x.penup()
    y.penup()
    x.speed(50)  # 设置绘画的速度
    y.speed(50)  # 设置绘画的速度
    #x轴每个方块的大小为15*15,将y轴的点作为横向棋盘的起点
    x.goto(0,-i*15)  
    #y轴每个方块的大小为15*15,将x轴的点作为横向棋盘的起点   
    y.goto(i*15,0)
    x.pendown()
    y.pendown()
    for j in range(0,20):
        x.goto(j*15,-i*15)   #x轴的棋盘向右走
        y.goto(i*15,-j*15)   #y轴的棋盘向下走
turtle.done()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值