• Python:turtle库的使用及图形绘制


    一.绘制一个八边形

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

    代码:

    from turtle import *
    
    setup(800,800,20,20)
    
    penup()
    left(90)
    fd(350)
    left(90)
    fd(200)
    pencolor('pink')
    pensize(25)
    
    pendown()
    
    fd(-250)
    left(135)
    for i in range(7):
        fd(250)
        right(45)
    
    done()
    

    效果:

    二.绘制一个八角图形

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

    代码

    from turtle import *
    
    setup(800,800,20,20)
    
    penup()
    left(90)
    fd(350)
    left(90)
    fd(200)
    left(90)
    pencolor('pink')
    pensize(25)
    pendown()
    
    for i in range(8):
    
        fd(600)
        left(135)
    
    done()
    

    效果:

    三.简述问题

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

    使用import <模块名>,在调用的时候需要先写文件名称再写哪一个函数

    使用from <模块名> import *,导入该模块所有函数方法,则不需要使用据点,只要调用他的名称就可以

    使用import <模块名> as <新模块名>:

    ​ 假如你嫌datetime这个包名称太长,想要给它取个别名,以后每次用到它的时候都用它的别名代替它,这时就需要用到import <模块名> as <新模块名>:例子如下:

    import datetime as dt
    print(dt.datetime.now())
    

    四.循环程序设计

    要求:循环打印数列'1,3,5,...,99'

    实现代码:

    n=1
    while n<101:
        k = n % 2
        if k==0:
            pass
        else:
            print(n)
        n=n+1
    

    实现效果:

    五.绘制一个自己喜欢的图形

    使用turtle库,绘制一个自己喜欢的图形,并截图发到微信群中

    代码:

    from turtle import *
    
    setup(1000,500,20,20)
    
    # 外部边框
    
    penup()
    left(180)
    fd(475)
    left(90)
    fd(200)
    left(90)
    pendown()
    pencolor('pink')
    pensize(15)
    fd(950)
    left(90)
    fd(400)
    left(90)
    fd(950)
    left(90)
    fd(400)
    
    #内部边框
    
    penup()
    left(90)
    fd(40)
    left(90)
    fd(40)
    
    pendown()
    fd(310)
    right(90)
    fd(860)
    right(90)
    fd(310)
    right(90)
    fd(860)
    right(90)
    
    
    
    #汉字"罗"
    
    penup()
    fd(220)
    right(90)
    fd(45)
    pendown()
    
    fd(95)
    right(90)
    fd(30)
    right(90)
    fd(95)
    right(90)
    fd(30)
    right(90)
    fd(25)
    right(90)
    fd(30)
    left(90)
    fd(40)
    left(90)
    fd(30)
    left(180)
    fd(30)
    right(90)
    fd(35)
    left(90)
    circle(-50,80)
    circle(-50,-60)
    seth(0)
    fd(35)
    left(270)
    circle(-80,90)
    circle(-80,-65)
    seth(0)
    left(155)
    fd(35)
    seth(0)
    
    #数字1
    
    penup()
    fd(120)
    left(90)
    fd(100)
    pendown()
    pencolor('cyan')
    pensize(15)
    
    right(45)
    fd(30)
    right(135)
    fd(100)
    left(90)
    fd(35)
    right(180)
    fd(70)
    fd(-50)
    
    # 数字3
    
    penup()
    left(90)
    fd(30)
    left(90)
    pendown()
    
    pencolor('purple')
    pensize(15)
    
    fd(50)
    right(135)
    fd(55)
    circle(30,-300)
    seth(0)
    
    # 数字1(第二个)
    penup()
    fd(120)
    left(90)
    fd(160)
    left(180)
    pendown()
    
    pencolor('yellow')
    pensize(15)
    
    seth(0)
    left(45)
    fd(30)
    right(135)
    fd(100)
    left(90)
    fd(35)
    right(180)
    fd(70)
    seth(0)
    
    # 数字四
    penup()
    fd(60)
    right(90)
    fd(30)
    pendown()
    
    pencolor('green')
    pensize(15)
    
    right(35)
    fd(65)
    seth(0)
    fd(45)
    left(90)
    fd(55)
    left(180)
    fd(75)
    left(180)
    fd(20)
    seth(0)
    fd(15)
    
    
    # 汉字“叶”的“口”
    penup()
    fd(55)
    left(90)
    fd(125)
    pendown()
    
    pencolor('magenta')
    pensize(15)
    
    seth(0)
    fd(50)
    left(90)
    fd(50)
    left(90)
    fd(50)
    left(90)
    fd(50)
    seth(0)
    
    
    #汉字“叶”的“十”
    
    penup()
    left(90)
    fd(25)
    seth(0)
    fd(75)
    pendown()
    
    fd(80)
    right(180)
    fd(40)
    left(90)
    fd(85)
    left(180)
    fd(128)
    
    # 小爱心
    penup()
    left(180)
    fd(100)
    seth(0)
    fd(135)
    right(90)
    fd(120)
    seth(0)
    pendown()
    
    
    def curvemove():
        for i in range(200):
            right(1)
            forward(1)
    color('red','pink')
    begin_fill()
    left(140)
    forward(111.65)
    curvemove()
    left(120)
    curvemove()
    forward(111.65)
    end_fill()
    
    done()
    

    效果:


    作者:罗文祥
    来源:祥SHAO
    原文:https://www.cnblogs.com/LWX-YEER/p/11190732.html
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    修改文件小练习
    登录、注册、删除小练习
    自动生成用户名和密码
    自动生成密码文件
    监控日志被攻击情况-小练习
    随机函数_手机自动生成小练习
    as与c++的反射机制对比
    as中的陷阱
    关于as中的事件与回调函数
    身份证号码验证
  • 原文地址:https://www.cnblogs.com/LWX-YEER/p/11190732.html
Copyright © 2020-2023  润新知