## Python学习第三天随笔------turtle模块库绘制图形

Python学习第三天随笔

今天是学习Python的第二天 今天 Nick老师带我们学习使用turtle库进行画图,并通过大蟒蛇案例进行讲解,让我们进一步加深对Python的认识与学习。

课堂内容:

今天上课学的是通过turtle库进行图形的绘制,很有意思的一节课学习到了很多新内容。
课堂代码:
# 导入turtle模块库
import turtle
# 设置一块画布
turtle.setup(650,350,200,200)

#抬笔 将 笔定位到原点-250的位置然后落笔 
turtle.penup()
turtle.fd(-250)
turtle.pendown()

# 设置画笔大小  画笔颜色
turtle.pensize(24)
turtle.pencolor("red")
# 更改画笔的方向 向下
turtle.seth(-40)
# 通过一个for循环画出蟒蛇的身子
for i in range(4):
    turtle.circle(40,80)
    turtle.circle(-40,80)
turtle.circle(60,80/2)
turtle.fd(40)
turtle.circle(30,180)
turtle.seth(-140)
turtle.fd(40)
turtle.done()
运行效果:

大蟒蛇

以下是课后作业:

课下作业

第一题:使用turtle库,绘制一个八边形

代码如下:
import turtle as t
# 先设置一个画布
t.setup(800,800)
t.pensize(8)
##  将画笔移动到画布的左上角
t.penup()
t.goto(-250,80)
t.pendown()

# 向下画一条直线
t.seth(-90)
t.fd(160)

# 向右下方45度画一条斜线
t.seth(-45)
t.fd(160)

# 向右画一条直线
t.seth(0)
t.fd(160)

# 向右上方画一条斜线
t.seth(45)
t.fd(160)

# 向上画一条直线
t.seth(90)
t.fd(160)

# 向左上方画一条斜线
t.seth(135)
t.fd(160)

# 向左画一条横线
t.seth(180)
t.fd(160)

# 向左下方画一条斜线
t.seth(225)
t.fd(160)

t.done()
运行结果:

八边形

第二题:使用turtle库,绘制一个八角图形。

代码如下:
import turtle as t
### 第二题使用turtle库,绘制一个八角图形
# 先设置一个画布
t.setup(800,800)
t.pensize(8)
##  将画笔移动到画布的左上角
t.penup()
t.goto(-250,-80)
t.pendown()

# 第一笔先画一条直线
t.fd(400)

# 调整方向向左上方135度 画一条斜线
t.seth(135)
t.fd(400)

# 调整方向向下画一条直线
t.seth(-90)
t.fd(400)

# 再次调整方向向右上角45度画一条斜线
t.seth(45)
t.fd(400)

# 向左画一条直线
t.seth(180)
t.fd(400)

# 向右下角45度画一条斜线
t.seth(-45)
t.fd(400)

# 向上画一条直线
t.seth(90)
t.fd(400)

# 向左下角 225度或者 -135度画一条斜线
t.seth(-135)
t.fd(400)

t.done()
运行效果如下:

八边形

第三题:简述import <模块名>/from <模块名> import */import <模块名> as <新模块名>三者的区别

1,import <模块名> :这种模块调用方法在使用模块中的方法时,需要带上模块名,例如使用turtle库的setup方法:turtle.setup(),相对比较麻烦,但是出错率小
2,from <模块名> import * :这种方法是直接导入模块库中所有的方法,在使用方法的时候无需再加 模块名进行调用,但是这种方法会出现冲突,因为我们在定义变量和方法的时候 会与模块库中的方法名起冲突
3,import <模块名> as <新模块名>:这种方法是将原有的模块库起一个新的名字,从而使我们在使用过程中更加简单方便,而且可以避免一些错误

第四题:设计程序,要求:循环打印数列`1,3,5,...,99

代码如下:
for i in range(1,100):
	if i%2!=0:
    print(i)

第五题:使用turtle库,绘制一个自己喜欢的图形,并截图发到微信群中,别告诉我你喜欢一条直线(/哭笑)

代码如下:
import turtle as t
import random
t.setup(800,800)
t.pensize(5)
t.colormode(255)
for i in range(10,160):
    if i%10==0:
        t.seth(90)
        t.pencolor(random.randint(0,255),random.randint(0,255),random.randint(0,255))
        t.circle(i, 360)
        t.seth(180)
        t.pencolor(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
        t.circle(i, 360)
        t.seth(270)
        t.pencolor(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
        t.circle(i,360)
        t.seth(0)
        t.pencolor(random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
        t.circle(i, 360)
t.done()
运行效果如下:

第四题

总结

今天学会了通过turtle绘制简单的图像,也学会了如何使用简单的使用for循环,在python中的for循环和其他语言是不一样的,相对而言更加简洁,方便。今天也是收获满满的一天呢!
posted @ 2019-07-15 17:51  foreversun92  阅读(862)  评论(0编辑  收藏  举报