Python | 阿尔法基本图形绘制

目录

1. 第一个绘图

2. 玫瑰花

3.蟒蛇绘制

4.正方形绘制

5.八边形

6.八角形

7.叠边形绘制

8.使用循环绘图

9.风轮绘制


1. 第一个绘图

请将以下代码复制到program.py中,点击「运行」按钮,查看这段代码的执行结果。

import turtle

alpha = turtle.Turtle()
alpha.color('red')
alpha.forward(100)
alpha.left(90)
import turtle

alpha = turtle.Turtle()
alpha.color('red')
alpha.forward(100)
alpha.left(90)

2. 玫瑰花

这里我们换了另一段代码,它能画出来什么呢?

想知道答案么?

那就点击 运行代码,让它把图形画出来吧。

点击运行代码,看看会发生什么。

你会发现,画布上面画了一朵玫瑰花;你可以尝试将第 11 行的 red 改为 purple,来看看玫瑰花会发生什么变化。

import turtle

turtle.setup(350, 600)

alpha = turtle.Turtle()
alpha.penup()
alpha.left(90)
alpha.fd(200)
alpha.pendown()
alpha.right(90)

alpha.fillcolor("red")
alpha.begin_fill()
alpha.circle(10, 180)
alpha.circle(25, 110)
alpha.left(50)
alpha.circle(60, 45)
alpha.circle(20, 170)
alpha.right(24)
alpha.fd(30)
alpha.left(10)
alpha.circle(30, 110)
alpha.fd(20)
alpha.left(40)
alpha.circle(90, 70)
alpha.circle(30, 150)
alpha.right(30)
alpha.fd(15)
alpha.circle(80, 90)
alpha.left(15)
alpha.fd(45)
alpha.right(165)
alpha.fd(20)
alpha.left(155)
alpha.circle(150, 80)
alpha.left(50)
alpha.circle(150, 90)
alpha.end_fill()

alpha.left(150)
alpha.circle(-90, 70)
alpha.left(20)
alpha.circle(75, 105)
alpha.setheading(60)
alpha.circle(80, 98)
alpha.circle(-90, 40)

alpha.left(180)
alpha.circle(90, 40)
alpha.circle(-80, 98)
alpha.setheading(-83)

alpha.fd(30)
alpha.left(90)
alpha.fd(25)
alpha.left(45)
alpha.fillcolor("green")
alpha.begin_fill()
alpha.circle(-80, 90)
alpha.right(90)
alpha.circle(-80, 90)
alpha.end_fill()

alpha.right(135)
alpha.fd(60)
alpha.left(180)
alpha.fd(85)
alpha.left(90)
alpha.fd(80)

alpha.right(90)
alpha.right(45)
alpha.fillcolor("green")
alpha.begin_fill()
alpha.circle(80, 90)
alpha.left(90)
alpha.circle(80, 90)
alpha.end_fill()

alpha.left(135)
alpha.fd(60)
alpha.left(180)
alpha.fd(60)
alpha.right(90)
alpha.circle(200, 60)

3.蟒蛇绘制

使用turtle库,绘制一个蟒蛇形状的图形。‬

import turtle

#turtle.setup(650,350,200,200)
turtle.penup()
turtle.fd(-250)#海龟的正前方向运行
turtle.pendown()
turtle.pensize(15)
turtle.pencolor("purple")
turtle.seth(-40)#改变海龟行进方向
for i in range(4):
    turtle.circle(40,80)
    turtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.fd(40)
turtle.circle(16,180)
turtle.fd(40*2/3)
turtle.done()

 4.正方形绘制

通过之前 alpha 绘图的效果我们了解到:

alpha.color('red')是让 alpha 的颜色变成 红 色;

alpha.forward(100)是让 alpha 前进 100 个单位;

alpha.left(90)是让 alpha 左转 90 度;

现在使用这些代码让 alpha 画出一个完整的正方形吧。

import turtle

# 完善代码,画一个正方形。

alpha = turtle.Turtle()
alpha.color('red')
alpha.forward(100)
alpha.left(90)
alpha.fd(100)
alpha.right(-90)
alpha.fd(100)
alpha.right(-90)
alpha.fd(100)

5.八边形

使用turtle库,绘制一个八边形。‬‬

注意: 这不是自动评阅题目,仅用于练习,没有评阅。请补充"编程模板"中横线内容。

 

import turtle as t
t.pensize(2)
for i in range(8):
    t.fd(60)
    t.left(45)

 6.八角形

使用turtle库,绘制一个八角图形。‬

注意: 这不是自动评阅题目,仅用于练习,没有评阅。请补充"编程模板"中横线内容。

import turtle as t
t.pensize(2)
for i in range(8):
    t.fd(150)
    t.left(135)

7.叠边形绘制

使用turtle库,绘制一个叠边形,其中,叠边形内角为100度。‬

import turtle as c
c.pensize(2)
for i in range(9):
    c.fd(100)
    c.left(80)

 8.使用循环绘图

循环能将大量重复的代码,缩减到只用几行代码,就能得到与之前相同的效果。

现在使用循环来简化右侧画五角星的代码,图形如下所示:

五角星

创建循环,让 turtle 循环画出五角星的五条边。

import turtle

alpha = turtle.Turtle()

steps = 100

angle1 = (180 * (5 - 2)) / 5
angle2 = 180 - angle1
angle = 2 * angle2

for i in range(5):
    alpha.forward(steps)
    alpha.right(angle)

9.风轮绘制

使用turtle库,绘制一个风轮效果,其中,每个风轮内角为45度,风轮边长150像素。‬

注意: 这不是自动评阅题目,仅用于练习,没有评阅。

提示: turtle.goto(x,y)函数,能够将turtle画笔移动到坐标(x,y)

import turtle as t
t.pensize(2)
for i in range(4):
    t.seth(90*i)
    t.fd(150)
    t.right(90)
    t.circle(-150, 45)
    t.goto(0,0)

 

import turtle as c

#上风轮
c.left(45)
c.fd(150)
c.left(90)
c.circle(150,45)
c.right(-90)
c.fd(150)
#下风轮
c.left(-45)
c.fd(150)
c.left(90)
c.circle(150,45)
c.right(-90)
c.fd(150)
#左风轮
c.left(45)
c.fd(150)
c.left(90)
c.circle(150,45)
c.right(-90)
c.fd(150)
#右风轮
c.left(-45)
c.fd(150)
c.left(90)
c.circle(150,45)
c.right(-90)
c.fd(150)

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值