zoukankan      html  css  js  c++  java
  • ## 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循环和其他语言是不一样的,相对而言更加简洁,方便。今天也是收获满满的一天呢!
  • 相关阅读:
    小米智能家居接入智能家居平台homeassistant的方法
    我的nodejs 快速入门
    node.js JS对象和JSON字符串之间的转换
    Mac安装搭建sublimeText3开发Nodejs环境
    使用Xcode IDE写node.js
    nodejs中exports与module.exports的区别
    安装pysqlite2
    linux 终端分屏命令
    MQTT学习笔记
    Cache缓存
  • 原文地址:https://www.cnblogs.com/foreversun92/p/11190408.html
Copyright © 2011-2022 走看看