PART 01
写在前面
本期小编给大家推荐一个酷酷的Python蜘蛛侠,一起来看看叭~
PART 02
蜘蛛侠
蜘蛛侠(Spider-Man)是美国漫威漫画宇宙中的一位标志性人物,由传奇创作者斯坦·李与艺术家史蒂夫·迪特科联手创造,并于1962年在《惊奇幻想》第15期中首次亮相。其真身是名叫彼得·帕克(Peter Parker)的普通青年,他在一次学校组织的科学展览会上遭受放射性变异蜘蛛的意外咬伤,从而获得了一系列超凡能力。
彼得·帕克获得的能力包括但不限于超强的力量、速度、耐力、敏捷性和敏锐的直觉感应,特别是他具备了如同蜘蛛般的攀爬墙壁技能。此外,他运用自己的科学才能发明了可随身携带的蛛网发射器,能喷射出高强度粘性的蛛丝,用于飞行、捕捉敌人以及构建临时障碍物等多种用途。这一独特的装备极大地增强了他的战斗能力和机动性。
尽管成为了超级英雄,彼得·帕克仍保持着一个普通人的心境与困扰。他深谙“能力越大,责任越大”的道理,在打击犯罪、保护纽约市民的同时,也努力维持着自己的日常生活。他面临着许多青少年共有的问题,如学业压力、兼职工作的艰辛以及对爱情的追求,但更复杂的是他需要保守自己身份的秘密,以免身边亲人朋友因此受到威胁。
蜘蛛侠的故事因其深入人心的角色塑造和贴近生活的剧情而备受赞誉。他的故事不仅仅是关于英雄主义和对抗邪恶势力,更是对成长、牺牲和道德抉择的深度探讨。这种强烈的现实主义元素使得蜘蛛侠在全球范围内吸引了无数粉丝,从漫画书页跃至大银幕,成为一个跨越几代人的文化符号,影响深远且历久弥新。
PART 03
完整代码
import turtle
turtle.setup(0.7, 0.7)
turtle.title("蜘蛛侠")
turtle.hideturtle()
turtle.speed(0)
turtle.bgcolor("red")
turtle.pensize(10)
turtle.penup()
turtle.goto(0, 50)
turtle.pendown()
turtle.circle(-120)
turtle.penup()
turtle.circle(-120, -60)
turtle.pendown()
turtle.pensize(5)
turtle.right(50)
turtle.circle(70, 55)
turtle.right(85)
turtle.circle(75, 58)
turtle.right(90)
turtle.circle(70, 55)
turtle.right(90)
turtle.circle(70, 58)
# 身体
turtle.penup()
turtle.pensize(10)
turtle.goto(80, 15)
turtle.pendown()
turtle.setheading(92)
turtle.forward(135)
turtle.setheading(125)
turtle.circle(30, 135)
turtle.setheading(190)
turtle.forward(50)
turtle.setheading(125)
turtle.circle(30, 135)
turtle.setheading(275)
turtle.forward(90)
# 胳膊1
turtle.penup()
turtle.pensize(10)
turtle.goto(92, -150)
turtle.setheading(240)
turtle.pendown()
turtle.forward(80)
turtle.left(10)
turtle.circle(-28, 185)
# 胳膊2
turtle.penup()
turtle.goto(0, 50)
turtle.setheading(0)
turtle.pensize(10)
turtle.circle(-120, -60)
turtle.setheading(200)
turtle.pendown()
turtle.forward(72)
turtle.left(20)
turtle.circle(30, 150)
turtle.left(20)
turtle.forward(20)
turtle.right(15)
turtle.forward(10)
turtle.pensize(5)
turtle.fillcolor("blue")
turtle.begin_fill()
turtle.setheading(92)
turtle.circle(-120, 31)
turtle.setheading(200)
turtle.forward(45)
turtle.left(90)
turtle.forward(52)
turtle.end_fill()
turtle.forward(-12)
turtle.right(90)
turtle.forward(40)
turtle.penup()
turtle.right(90)
turtle.forward(18)
turtle.pendown()
turtle.right(86)
turtle.forward(40)
turtle.penup()
turtle.goto(-152, -86)
turtle.pendown()
turtle.left(40)
turtle.circle(35, 90)
# 身体颜色
turtle.penup()
turtle.goto(-80, 116)
turtle.setheading(10)
turtle.pensize(5)
turtle.pendown()
turtle.begin_fill()
turtle.fillcolor("blue")
turtle.forward(155)
turtle.setheading(-88)
turtle.forward(37)
turtle.setheading(195)
turtle.forward(156)
turtle.end_fill()
turtle.penup()
turtle.goto(-75, 38)
turtle.setheading(15)
turtle.pendown()
turtle.begin_fill()
turtle.forward(158)
turtle.setheading(-88)
turtle.forward(55)
turtle.setheading(140)
turtle.circle(120, 78)
turtle.end_fill()
# 胳膊1着色
turtle.penup()
turtle.fillcolor("blue")
turtle.pensize(5)
turtle.goto(75, -170)
turtle.pendown()
turtle.begin_fill()
turtle.setheading(240)
turtle.forward(30)
turtle.right(90)
turtle.forward(17)
turtle.end_fill()
turtle.forward(10)
turtle.left(80)
turtle.forward(55)
turtle.penup()
turtle.left(90)
turtle.forward(15)
turtle.pendown()
turtle.left(85)
turtle.forward(55)
turtle.penup()
turtle.goto(43, -225)
turtle.left(84)
turtle.pendown()
turtle.circle(60, 51)
# 身体竖纹
for i in range(3):
turtle.penup()
turtle.goto(-70 + i * 15, 135)
turtle.setheading(-90)
turtle.pendown()
turtle.pensize(5)
turtle.forward(15 - 2 * i)
for i in range(3):
turtle.penup()
turtle.goto(36 + i * 15, 156)
turtle.setheading(-90)
turtle.pendown()
turtle.pensize(5)
turtle.forward(15 - 2 * i)
a = -60
b = 70
for i in range(4):
turtle.penup()
turtle.goto(a, b)
a = a + 40
b = b + 10
turtle.setheading(-90)
turtle.pendown()
turtle.pensize(5)
turtle.forward(26)
def oo(li, jing):
turtle.penup()
turtle.goto(0, 50)
turtle.setheading(0)
turtle.circle(-120, li)
turtle.pendown()
turtle.right(jing)
turtle.pensize(5)
oo(-60, 110)
turtle.forward(130)
oo(-28, 96)
turtle.forward(140)
oo(9, 89)
turtle.forward(144)
oo(42, 70)
turtle.forward(160)
oo(80, 60)
turtle.forward(130)
turtle.penup()
turtle.goto(-80, -40)
turtle.right(160)
turtle.pendown()
turtle.right(50)
turtle.circle(70, 45)
turtle.right(75)
turtle.circle(70, 38)
turtle.right(50)
turtle.circle(70, 45)
turtle.right(90)
turtle.circle(70, 48)
turtle.penup()
turtle.goto(-53, -70)
turtle.pendown()
turtle.left(40)
turtle.circle(70, 30)
turtle.right(50)
turtle.circle(70, 20)
turtle.right(50)
turtle.circle(70, 38)
turtle.right(70)
turtle.circle(70, 24)
turtle.penup()
turtle.goto(-19, -105)
turtle.left(72)
turtle.pendown()
turtle.forward(22)
turtle.right(60)
turtle.forward(22)
oo(-140, 80)
turtle.circle(-90, 120)
turtle.penup()
oo(140, 100)
turtle.circle(90, 13)
turtle.pendown()
turtle.right(-50)
turtle.circle(70, 45)
turtle.right(75)
turtle.circle(70, 38)
turtle.right(50)
turtle.circle(70, 36)
turtle.penup()
turtle.goto(22, -185)
turtle.right(70)
turtle.pendown()
turtle.forward(72)
turtle.penup()
turtle.goto(-40, -182)
turtle.right(38)
turtle.pendown()
turtle.forward(70)
# 左眼
turtle.penup()
turtle.pensize(7)
turtle.goto(-15, -110)
turtle.setheading(0)
turtle.pendown()
turtle.pensize(10)
turtle.begin_fill()
turtle.left(130)
turtle.forward(110)
turtle.right(250)
turtle.circle(90, 60)
turtle.circle(40, 120)
turtle.fillcolor("white")
turtle.end_fill()
# 右眼
turtle.penup()
turtle.goto(5, -110)
turtle.pendown()
turtle.begin_fill()
turtle.right(30)
turtle.forward(110)
turtle.right(-250)
turtle.circle(-90, 60)
turtle.circle(-40, 120)
turtle.end_fill()
turtle.done()
PART 04
代码分析
这段代码使用了Python的Turtle库来绘制蜘蛛侠的图像。以下是代码的详细分析:
-
import turtle
: 导入Turtle库,用于绘制图形。 -
turtle.setup(0.7, 0.7)
: 设置绘图窗口的大小为正方形,宽高为屏幕宽高的70%。 -
turtle.title("蜘蛛侠")
: 设置绘图窗口的标题为"蜘蛛侠"。 -
turtle.hideturtle()
: 隐藏绘图时的箭头图标。 -
turtle.speed(0)
: 设置绘画速度为最快,即不显示绘制过程,直接显示最终结果。 -
turtle.bgcolor("red")
: 设置绘图窗口的背景颜色为红色。 -
turtle.pensize(10)
: 设置画笔的粗细为10个像素。 -
turtle.penup()
: 抬起画笔,移动时不绘制图形。 -
turtle.goto(x, y)
: 将画笔移动到指定的坐标(x, y)。 -
turtle.pendown()
: 放下画笔,移动时绘制图形。 -
turtle.circle(radius, extent)
: 绘制一个半径为radius的圆,extent表示绘制的角度。 -
turtle.setheading(angle)
: 设置当前朝向为指定角度,0表示向右,90表示向上,依次类推。 -
turtle.forward(distance)
: 向当前方向移动指定距离的长度。 -
turtle.right(angle)
: 向右旋转指定角度。 -
turtle.left(angle)
: 向左旋转指定角度。 -
turtle.fillcolor(color)
: 设置填充颜色。 -
turtle.begin_fill()
: 开始填充闭合图形的内部。 -
turtle.end_fill()
: 结束填充。 -
turtle.done()
: 结束绘图。
以上是代码中使用的主要函数和方法,下面是代码的具体绘图逻辑:
-
绘制蜘蛛侠的头部,通过绘制两个眼睛来表现蜘蛛侠的面部特征。
-
绘制蜘蛛侠的身体,包括胳膊和身体的轮廓。
-
设置胳膊和身体的填充颜色。
-
绘制蜘蛛侠的纹理和服装细节。
-
最后完成蜘蛛侠的绘制并显示在窗口中。
整个过程通过控制Turtle库中的函数和方法来完成,包括移动画笔、绘制图形、设置颜色等。通过组合这些基本操作,可以绘制出复杂的图形。
关于Python学习指南
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!
👉Python所有方向的学习路线👈
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)
👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python70个实战练手案例&源码👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉Python大厂面试资料👈
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
👉Python副业兼职路线&方法👈
学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。
👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取【保证100%免费
】
