Python万圣节礼物

2024-02-27 1275阅读

温馨提示:这篇文章已超过461天没有更新,请注意相关的内容是否还可用!

Python万圣节礼物

文章目录

  • 系列文章
  • 前言
  • 小海龟快速入门
  • 万圣节蝙蝠
  • 万圣节南瓜头
  • 万圣节礼物
  • 尾声

    系列文章

    序号文章目录直达链接
    表白系列
    1无法拒绝的表白界面https://want595.blog.csdn.net/article/details/134744894
    2满屏飘字表白代码https://want595.blog.csdn.net/article/details/135037388
    3无限弹窗表白代码https://want595.blog.csdn.net/article/details/134744711
    4李峋同款可写字版跳动的爱心https://want595.blog.csdn.net/article/details/134744191
    5流星雨https://want595.blog.csdn.net/article/details/134747408
    6漂浮爱心https://want595.blog.csdn.net/article/details/134744929
    7爱心光波https://want595.blog.csdn.net/article/details/134747365
    8玫瑰花https://want595.blog.csdn.net/article/details/134747447
    节日系列
    1新春/跨年烟花秀(2022)https://want595.blog.csdn.net/article/details/128727394
    烟花秀(2023)https://want595.blog.csdn.net/article/details/135042880
    粒子烟花https://want595.blog.csdn.net/article/details/136029420
    2圣诞节圣诞礼物https://want595.blog.csdn.net/article/details/135336583
    圣诞树(2022)https://want595.blog.csdn.net/article/details/128428985
    绿色圣诞树(2023)https://want595.blog.csdn.net/article/details/135048607
    粉色圣诞树(2023)https://want595.blog.csdn.net/article/details/135043042
    3冬至大雪纷飞https://want595.blog.csdn.net/article/details/128806017
    4生日生日蛋糕https://want595.blog.csdn.net/article/details/128739755
    5儿童节五彩气球https://want595.blog.csdn.net/article/details/128741043
    6国庆节国庆祝福https://want595.blog.csdn.net/article/details/128740923
    7万圣节万圣礼物https://want595.blog.csdn.net/article/details/128734395
    8愚人节愚人代码https://want595.blog.csdn.net/article/details/128696990
    9中秋节浪漫星空https://want595.blog.csdn.net/article/details/128737284
    10植树节樱花树https://want595.blog.csdn.net/article/details/128700178
    动漫系列
    1名侦探柯南系列柯南https://want595.blog.csdn.net/article/details/134777613
    2喜羊羊与灰太狼系列喜羊羊https://want595.blog.csdn.net/article/details/134778583
    懒羊羊https://want595.blog.csdn.net/article/details/134847642
    灰太狼https://want595.blog.csdn.net/article/details/135335303
    小灰灰https://want595.blog.csdn.net/article/details/135335445
    小香香https://want595.blog.csdn.net/article/details/135056783
    3海绵宝宝系列海绵宝宝https://want595.blog.csdn.net/article/details/134847364
    4哆啦A梦系列哆啦A梦https://want595.blog.csdn.net/article/details/135037884
    5HelloKitty系列hellokittyhttps://want595.blog.csdn.net/article/details/135337732
    6Tom&Jerry系列Tom&Jerryhttps://want595.blog.csdn.net/article/details/135337775
    7草莓熊系列草莓熊https://want595.blog.csdn.net/article/details/135337832
    8皮卡丘系列迷你皮卡丘https://want595.blog.csdn.net/article/details/135337911
    高级皮卡丘https://want595.blog.csdn.net/article/details/135337937
    豪华皮卡丘https://want595.blog.csdn.net/article/details/135337947
    炫酷系列
    1  一闪一闪亮星星系列张万森下雪了https://want595.blog.csdn.net/article/details/135336915
    一闪一闪亮星星https://want595.blog.csdn.net/article/details/135337049
    2代码雨https://want595.blog.csdn.net/article/details/135054341
    3七彩花朵https://want595.blog.csdn.net/article/details/135056670
    43D星空https://want595.blog.csdn.net/article/details/135056516
    5金榜题名https://want595.blog.csdn.net/article/details/135056150
    6满天星https://want595.blog.csdn.net/article/details/135056305
    ……

    前言

    万圣节即将来临,快来领取博主给大家准备的礼物吧!

    小海龟快速入门

    Python的小海龟(Turtle Graphics)是一个简单而有趣的绘图库,适合初学者入门学习编程。它允许你使用Python语言对图形进行绘制,通过简单的命令就能创造出各种有趣的图形。在本文中,我将为你提供一个关于Python小海龟绘图的入门简介。

    小海龟绘图可以追溯到Logo语言,它是由Seymour Papert在20世纪60年代开发的。而在Python中,我们可以使用turtle库来实现类似的功能。

    首先,我们需要在Python中导入turtle库。可以使用以下代码来实现:

    import turtle
    

    现在,我们可以创建一个海龟实例,并命名为my_turtle:

    my_turtle = turtle.Turtle()
    

    海龟实例是一个图形窗口,你可以在其中绘制图形。它有一个默认的方向,朝向屏幕的右侧。

    让我们来尝试一些基本的绘图操作。例如,绘制一个正方形,代码如下:

    my_turtle.forward(100)
    my_turtle.right(90)
    my_turtle.forward(100)
    my_turtle.right(90)
    my_turtle.forward(100)
    my_turtle.right(90)
    my_turtle.forward(100)
    

    在这个例子中,我们使用forward()方法向前绘制一条直线,使用right()方法向右转动一定角度。通过不断的重复这两个操作,我们可以绘制出一个正方形。

    现在,我们尝试绘制一个更复杂的图形,比如一个五角星。代码如下:

    for i in range(5):
        my_turtle.forward(100)
        my_turtle.right(144)
    

    在这个例子中,我们使用for循环来重复执行一系列操作。forward()方法和right()方法的参数可以根据你的需要调整,以实现想要的图形效果。

    除了基本的直线和角度操作之外,turtle库还提供了其他一些功能,例如改变画笔的颜色、粗细、移动、填充等操作。你可以根据需要来探索这些功能。

    最后,当你完成绘图后,记得使用以下代码来保持图形窗口打开,以便查看你的绘图结果:

    turtle.done()
    

    这是一个简单的Python小海龟绘图入门简介。通过掌握这些基本的概念和操作,你可以开始创造出各种有趣的图形和艺术作品。希望这篇简介对你有所帮助,祝你在学习Python小海龟绘图过程中取得成功!

    万圣节蝙蝠

    让我们先从一只小蝙蝠开始吧!

    Python万圣节礼物

    程序设计

    import turtle as t
    k = 0.5
    t.title("蝙蝠")
    t.setup(0.5, 0.5)
    t.begin_fill()
    t.fillcolor('black')
    t.forward(k*10)
    t.setheading(75)
    t.forward(k*35)
    t.setheading(-75)
    t.forward(k*55)
    t.setheading(0)
    t.circle(k*40,90)
    t.right(90)
    t.forward(k*100)
    t.left(180)
    t.circle(k*100,90)
    t.setheading(180)
    t.circle(k*70,90)
    t.left(180)
    t.circle(k*70,90)
    t.right(90)
    t.circle(k*100,90)
    t.right(180)
    t.forward(k*100)
    t.right(90)
    t.circle(k*40,90)
    t.setheading(75)
    t.forward(k*55)
    t.setheading(-75)
    t.forward(k*35)
    t.setheading(0)
    t.forward(k*10)
    t.end_fill()
    t.mainloop()
    

    程序分析

    这段代码利用了turtle库,在画布上绘制了一个黑色的蝙蝠。下面是代码具体的分析:

    1. 导入turtle库,给它取了别名t。
    import turtle as t
    
    1. 设定窗口标题和窗口大小。这里窗口大小是默认画布大小的一半。
    t.title("蝙蝠")
    t.setup(0.5, 0.5)
    
    1. 开始填充,填充颜色为黑色。
    t.begin_fill()
    t.fillcolor('black')
    
    1. 先向前走一段距离,然后转向75度,向右上方画出一条线段,长度为35k,然后再转向-75度,向右下方画出一条线段,长度为55k。最后转向0度,以当前位置为圆心,画出一个半径为40k的1/4圆弧。这些操作就勾勒出了蝙蝠的头部和身体的轮廓。
    t.forward(k*10)
    t.setheading(75)
    t.forward(k*35)
    t.setheading(-75)
    t.forward(k*55)
    t.setheading(0)
    t.circle(k*40,90)
    
    1. 向右走100k,然后转向180度,以当前位置为圆心,画出一个半径为100k的1/4圆弧,这样就画出了蝙蝠的翅膀。
    t.right(90)
    t.forward(k*100)
    t.left(180)
    t.circle(k*100,90)
    
    1. 接下来,先转向180度,以当前位置为圆心,画出一个半径为70k的1/4圆弧,然后再转向180度,以当前位置为圆心,画出一个半径为70k的1/4圆弧,这样就画出了蝙蝠的身体下半部分和左侧翅膀的轮廓。
    t.setheading(180)
    t.circle(k*70,90)
    t.left(180)
    t.circle(k*70,90)
    
    1. 接着,向右转90度,以当前位置为圆心,画出一个半径为100k的1/4圆弧,这样就画出了蝙蝠的身体上半部分和右侧翅膀的轮廓。
    t.right(90)
    t.circle(k*100,90)
    
    1. 向右转180度,向前走100k,然后右转90度,以当前位置为圆心,画出一个半径为40k的1/4圆弧,这样就画出了蝙蝠的尾部和右侧翅膀后部的轮廓。
    t.right(180)
    t.forward(k*100)
    t.right(90)
    t.circle(k*40,90)
    
    1. 最后,以当前位置为起点,向左上方和左下方分别画出一条线段,长度为35k和55k,然后转向0度,向前走10k,这样就画出了蝙蝠的左侧翅膀前部和身体的轮廓。
    t.setheading(75)
    t.forward(k*55)
    t.setheading(-75)
    t.forward(k*35)
    t.setheading(0)
    t.forward(k*10)
    
    1. 结束填充,并进入消息循环等待事件发生。
    t.end_fill()
    t.mainloop()
    

    万圣节南瓜头

    万圣节怎么能少的了南瓜头呢~

    Python万圣节礼物

    程序设计

    import turtle
    def init():
        turtle.setup(1.0,1.0)
        turtle.speed(10)
        turtle.hideturtle()
        turtle.bgcolor('orange')
    def outline():
        turtle.color('#CF5E1A', '#CF5E1A')
        turtle.penup()
        turtle.goto(250, 30)
        turtle.pendown()
        turtle.seth(90)
        turtle.begin_fill()
        for j in range(25):
            turtle.fd(j)
            turtle.left(3.6)
        for j in range(25, 0, -1):
            turtle.fd(j)
            turtle.left(3.6)
        turtle.seth(-90)
        turtle.circle(254, 180)
        turtle.end_fill()
    def eyes(args):
        for items in args:
            position, angle, direction = items
            turtle.pensize(6)
            turtle.penup()
            turtle.goto(position, 0)
            turtle.pendown()
            turtle.color('#4C180D', '#4C180D')
            turtle.begin_fill()
            turtle.seth(angle)
            for j in range(55):
                turtle.fd(3)
                if direction:
                    turtle.left(3)  # 左转3度
                else:
                    turtle.right(3)  # 右转3度
            turtle.goto(position, 0)
            turtle.end_fill()
    def nose():
        # 鼻子
        turtle.penup()
        turtle.goto(0, 0)
        turtle.seth(180)
        turtle.pendown()
        turtle.begin_fill()
        turtle.circle(50, steps=3)
        turtle.end_fill()
    def mouth():
        # 嘴巴
        turtle.color('#F9D503', '#F9D503')
        turtle.pensize(6)
        turtle.penup()
        turtle.penup()
        turtle.goto(-150, -100)
        turtle.pendown()
        turtle.begin_fill()
        turtle.seth(-30)
        turtle.fd(100)
        turtle.left(90)
        turtle.fd(30)
        turtle.right(90)
        turtle.fd(60)
        turtle.left(60)
        turtle.fd(60)
        turtle.right(90)
        turtle.fd(30)
        turtle.left(90)
        turtle.fd(100)
        turtle.end_fill()
        turtle.done()
    def tail():
        turtle.penup()
        turtle.goto(0, 180)
        turtle.pendown()
        turtle.color('#2E3C01')
        turtle.seth(100)
        turtle.pensize(25)
        turtle.circle(60, 100)
    turtle.tracer(0)
    init()
    outline()
    tail()
    eyes_items = [(-60, 230, 0), (60, -50, 1)]
    eyes(eyes_items)
    nose()
    mouth()
    turtle.done()
    

    程序分析

    这段代码是利用turtle库在画布上绘制了一个南瓜头。下面是代码具体的分析:

    1. 导入turtle库。
    import turtle
    
    1. 定义一个init函数,用于初始化画布。窗口大小设置为1.0 x 1.0,背景色为橙色,画笔速度为10。
    def init():
        turtle.setup(1.0,1.0)
        turtle.speed(10)
        turtle.hideturtle()
        turtle.bgcolor('orange')
    
    1. 定义一个outline函数,用于绘制南瓜头的轮廓。先将画笔移动到(250, 30)的位置,然后以该点为起点,向左右两侧交替绘制线段和圆弧,形成南瓜头的轮廓线。最后以圆弧为底部,填充橙色,完成南瓜头轮廓的绘制。
    def outline():
        turtle.color('#CF5E1A', '#CF5E1A')
        turtle.penup()
        turtle.goto(250, 30)
        turtle.pendown()
        turtle.seth(90)
        turtle.begin_fill()
        for j in range(25):
            turtle.fd(j)
            turtle.left(3.6)
        for j in range(25, 0, -1):
            turtle.fd(j)
            turtle.left(3.6)
        turtle.seth(-90)
        turtle.circle(254, 180)
        turtle.end_fill()
    
    1. 定义一个eyes函数,用于绘制南瓜头的眼睛。函数接受一个列表参数args,其中每个元素表示一个眼睛的位置、角度和方向。在函数中,根据参数信息,将画笔移动到眼睛位置,然后按照一定的角度和方向绘制眼睛的轮廓线,最后填充黑色,完成眼睛绘制。
    def eyes(args):
        for items in args:
            position, angle, direction = items
            turtle.pensize(6)
            turtle.penup()
            turtle.goto(position, 0)
            turtle.pendown()
            turtle.color('#4C180D', '#4C180D')
            turtle.begin_fill()
            turtle.seth(angle)
            for j in range(55):
                turtle.fd(3)
                if direction:
                    turtle.left(3)  # 左转3度
                else:
                    turtle.right(3)  # 右转3度
            turtle.goto(position, 0)
            turtle.end_fill()
    
    1. 定义一个nose函数,用于绘制南瓜头的鼻子。先将画笔移动到画布中心,然后以中心点为圆心,画出一个半径为50的正三角形,最后填充黑色,完成鼻子绘制。
    def nose():
        turtle.penup()
        turtle.goto(0, 0)
        turtle.seth(180)
        turtle.pendown()
        turtle.begin_fill()
        turtle.circle(50, steps=3)
        turtle.end_fill()
    
    1. 定义一个mouth函数,用于绘制南瓜头的嘴巴。先将画笔移动到(-150, -100)的位置,然后按照一定的角度和方向绘制嘴巴的轮廓线,最后填充黄色,完成嘴巴的绘制。
    def mouth():
        turtle.color('#F9D503', '#F9D503')
        turtle.pensize(6)
        turtle.penup()
        turtle.penup()
        turtle.goto(-150, -100)
        turtle.pendown()
        turtle.begin_fill()
        turtle.seth(-30)
        turtle.fd(100)
        turtle.left(90)
        turtle.fd(30)
        turtle.right(90)
        turtle.fd(60)
        turtle.left(60)
        turtle.fd(60)
        turtle.right(90)
        turtle.fd(30)
        turtle.left(90)
        turtle.fd(100)
        turtle.end_fill()
        turtle.done()
    
    1. 定义一个tail函数,用于绘制南瓜头的尾巴。先将画笔移动到(0, 180)的位置,然后以该点为起点,按照一定半径和角度绘制尾巴的轮廓线,最后完成尾巴的绘制。
    def tail():
        turtle.penup()
        turtle.goto(0, 180)
        turtle.pendown()
        turtle.color('#2E3C01')
        turtle.seth(100)
        turtle.pensize(25)
        turtle.circle(60, 100)
    
    1. 最后,调用turtle的tracer函数关闭动画效果,然后依次调用上述函数,完成南瓜头的绘制。
    turtle.tracer(0)
    init()
    outline()
    tail()
    eyes_items = [(-60, 230, 0), (60, -50, 1)]
    eyes(eyes_items)
    nose()
    mouth()
    turtle.done()
    

    万圣节礼物

    让我们将蝙蝠和南瓜头结合一下吧!

    Python万圣节礼物

    程序设计

    import turtle as tu
    import random as ra
    import math
    tu.setup(1.0, 1.0)
    tu.screensize(1.0, 1.0)
    tu.title("万圣节")
    tu.bgcolor('darkorange')
    t = tu.Pen()
    t.ht()
    colors = ['black']
    class Bat():    #每个蝙蝠(蝙蝠类)
        def __init__(self):
    ……
    

    完整代码

    https://want595.blog.csdn.net/article/details/128734395

    程序分析

    这是一段python代码,用turtle模块创建了一个万圣节的场景,包括南瓜和蝙蝠。其中,南瓜的形状和颜色都很逼真,蝙蝠则实现了飞舞的动态效果。

    代码中定义了一个Bat类来创建蝙蝠对象,包含蝙蝠的大小、位置、颜色、移动速度等属性。move()方法实现了蝙蝠随机移动的效果,当蝙蝠飞出画布时,重新生成一个蝙蝠对象。pumpkin()方法用turtle画出了南瓜的形状和特点,包括南瓜的圆润和嘴巴的扭曲。

    最后,在主程序中实例化了100个蝙蝠对象,并使用while循环使它们在画布中不断移动,同时更新画面,显示出动态效果。

    整段代码用到了python的一些基本语法和turtle模块的函数,如setup()、screensize()、Pen()、begin_fill()、end_fill()等。通过这个小例子,我们可以了解到turtle的绘图功能,以及python类的基本使用。

    尾声

    感谢小伙伴们的支持吖,祝大家万圣节快乐哦!

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]