当前位置: 首页 > news >正文

海口网站建设服务宁波网站推广运营公司

海口网站建设服务,宁波网站推广运营公司,西安网站建设xamokj,宿州市住房 建设 官方网站介绍 视频教程地址在此:https://www.bilibili.com/video/BV1Pm4y1H7Tb/ 大家好,欢迎来到本视频!今天,我们将一同探索Python编程世界中的一个有趣而创意的库——Turtle库。无需专业绘画技能,你就可以轻松地用代码绘制…

在这里插入图片描述

介绍

视频教程地址在此:https://www.bilibili.com/video/BV1Pm4y1H7Tb/

大家好,欢迎来到本视频!今天,我们将一同探索Python编程世界中的一个有趣而创意的库——Turtle库。无需专业绘画技能,你就可以轻松地用代码绘制出美丽的图形、艺术作品甚至是动画。

Turtle库灵感来自于海龟,它允许你像控制海龟一样来控制一个绘图画布。让我们看看如何使用这个库来创造独特的艺术。

首先,我们导入Turtle库,然后创建一个海龟对象,可以命名为"t"。随后,我们就可以使用各种方法来控制海龟的移动、绘制形状和改变颜色。

只需几行代码,你就可以绘制出直线、圆、多边形甚至是心形。通过改变参数,你可以调整图形的大小、角度和颜色,让你的创意无限延展。

Turtle库不仅仅是静态图形,它还支持动画!你可以使用循环和定时来创建精彩的动画效果。比如,我们可以绘制出一个移动的螺旋图案,让海龟成为你的艺术舞台上的舞者。

但这还不止!Turtle库也可以用于教育和学习。它能够帮助初学者理解编程概念,如循环和条件语句,通过可视化的方式更加直观地展示。

无论你是艺术家、初学者还是教育工作者,Turtle库都能够激发你的创造力和好奇心。通过简单的代码,你可以创造出令人惊叹的图像和动画。

下面给出几个案例,大家只需要复制粘贴后运行代码就可以看到效果:

气球飞舞

效果

在这里插入图片描述

代码

import turtle as tu
import random as ra
import math
tu.title("编程启航")
tu.setup(1.0, 1.0)
t = tu.Pen()
t.ht()
colors = ['red','skyblue','orange','yellow','lime','pink','violet']
class Balloon():    #每个气球(气球类)def __init__(self):self.r = ra.randint(12,20)        #气球的半径self.x = ra.randint(-1000,1000)   #气球的横坐标self.y = ra.randint(-500,500)     #气球的纵坐标self.f = ra.uniform(-3.14,3.14)   #气球左右移动呈正弦函数self.speed = ra.randint(5,10)     #气球移动速度self.color = ra.choice(colors)    #气球的颜色self.outline = 1                  #气球的外框大小(可不要)def move(self):                    #气球移动函数if self.y <= 500:            #当气球还在画布中时self.y += self.speed     #设置上下移动速度self.x += self.speed * math.sin(self.f)    #设置左右移动速度self.f += 0.1            #可以理解成标志,改变左右移动的方向else:                        #当气球漂出了画布时,重新生成一个气球self.r = ra.randint(12,20)self.x = ra.randint(-1000,1000)self.y = -500self.f = ra.uniform(-3.14,3.14)self.speed = ra.randint(5,10)self.color = ra.choice(colors)self.outline = 1def draw(self):       #画气球函数,就是用turtle画气球t.penup()t.goto(self.x,self.y)t.pendown()t.color(self.color)t.left(45)t.begin_fill()t.fillcolor(self.color)for i in range(2):t.circle(self.r*2, 90)t.circle(self.r, 90)t.end_fill()t.hideturtle()t.circle(self.r,-45)t.right(90)t.circle(20,90)
Balloons = []            #用列表保存所有气球
for i in range(100):Balloons.append(Balloon())
tu.bgcolor('black')
while True:           #开始漂浮tu.tracer(0)t.clear()for i in range(len(Balloons)):    #在画布中设置50个漂浮的气球Balloons[i].move()Balloons[i].draw()tu.penup()          #写祝福tu.goto(-250,20)tu.pendown()tu.color("skyblue")tu.write("编程启航!",font=("黑体", 80,"italic"))  #"italic"表示斜体tu.hideturtle()tu.update()
tu.mainloop()

时钟程序

效果

在这里插入图片描述
代码:

# coding=utf-8
import turtle
from datetime import *# 抬起画笔,向前运动一段距离放下
def Skip(step):turtle.penup()turtle.forward(step)turtle.pendown()def mkHand(name, length):# 注册Turtle形状,建立表针Turtleturtle.reset()Skip(-length * 0.1)# 开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点。turtle.begin_poly()turtle.forward(length * 1.1)# 停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连。turtle.end_poly()# 返回最后记录的多边形。handForm = turtle.get_poly()turtle.register_shape(name, handForm)def Init():global secHand, minHand, hurHand, printer# 重置Turtle指向北turtle.mode("logo")# 建立三个表针Turtle并初始化mkHand("secHand", 135)mkHand("minHand", 125)mkHand("hurHand", 90)secHand = turtle.Turtle()secHand.shape("secHand")minHand = turtle.Turtle()minHand.shape("minHand")hurHand = turtle.Turtle()hurHand.shape("hurHand")for hand in secHand, minHand, hurHand:hand.shapesize(1, 1, 3)hand.speed(0)# 建立输出文字Turtleprinter = turtle.Turtle()# 隐藏画笔的turtle形状printer.hideturtle()printer.penup()def SetupClock(radius):# 建立表的外框turtle.reset()turtle.pensize(7)for i in range(60):Skip(radius)if i % 5 == 0:turtle.forward(20)Skip(-radius - 20)Skip(radius + 20)if i == 0:turtle.write(int(12), align="center", font=("Courier", 14, "bold"))elif i == 30:Skip(25)turtle.write(int(i / 5), align="center", font=("Courier", 14, "bold"))Skip(-25)elif (i == 25 or i == 35):Skip(20)turtle.write(int(i / 5), align="center", font=("Courier", 14, "bold"))Skip(-20)else:turtle.write(int(i / 5), align="center", font=("Courier", 14, "bold"))Skip(-radius - 20)else:turtle.dot(5)Skip(-radius)turtle.right(6)def Week(t):week = ["星期一", "星期二", "星期三","星期四", "星期五", "星期六", "星期日"]return week[t.weekday()]def Date(t):y = t.yearm = t.monthd = t.dayreturn "%s %d%d" % (y, m, d)def Tick():# 绘制表针的动态显示t = datetime.today()second = t.second + t.microsecond * 0.000001minute = t.minute + second / 60.0hour = t.hour + minute / 60.0secHand.setheading(6 * second)minHand.setheading(6 * minute)hurHand.setheading(30 * hour)turtle.tracer(False)printer.forward(65)printer.write(Week(t), align="center",font=("Courier", 14, "bold"))printer.back(130)printer.write(Date(t), align="center",font=("Courier", 14, "bold"))printer.home()turtle.tracer(True)# 100ms后继续调用tickturtle.ontimer(Tick, 100)def main():# 打开/关闭龟动画,并为更新图纸设置延迟。turtle.tracer(False)Init()SetupClock(160)turtle.tracer(True)Tick()turtle.mainloop()if __name__ == "__main__":main()

运动炫彩小球

效果

在这里插入图片描述

代码

import turtle
import random# 设置窗口
window = turtle.Screen()
window.title("彩色小球反弹程序")
window.bgcolor("white")
window.setup(width=800, height=600)
turtle.tracer(False)
balls = []# 创建小球类
class Ball(turtle.Turtle):def __init__(self, color):super().__init__()self.shape("circle")self.color(color)self.penup()self.speed(0)self.dx = random.uniform(0.8,1.2) * random.choice([-1, 1])  # 随机初始x速度self.dy = random.uniform(0.8,1.2)* random.choice([-1, 1])  # 随机初始y速度def move(self):self.setx(self.xcor() + self.dx)self.sety(self.ycor() + self.dy)# 碰撞检测if self.xcor() > 380 or self.xcor() < -380:self.dx *= -1if self.ycor() > 280 or self.ycor() < -280:self.dy *= -1# 创建十个小球
ball_colors = ["red", "blue", "green", "purple", "orange", "pink", "cyan", "yellow", "magenta", "brown"]for color in ball_colors:ball = Ball(color)balls.append(ball)# 主循环
while True:for ball in balls:ball.move()turtle.update()# 关闭窗口
window.bye()

更多效果见视频:https://www.bilibili.com/video/BV1Pm4y1H7Tb/

结语

在本文中,我们介绍了Python中令人兴奋的Turtle库,它为编程和艺术创作提供了全新的可能性。无论您是初学者还是有经验的开发者,Turtle库都是一个值得尝试的工具。通过简单的代码,您可以创造出独特的图形、艺术作品和动画。现在,动起手指,开始您的创意绘图之旅吧!

希望本视频能够帮助你对Turtle库有一个初步的了解。如果您想要深入学习和探索更多高级特性,不妨查阅Turtle库的官方文档以及更多的教程资源。


文章转载自:
http://kodak.rywn.cn
http://tales.rywn.cn
http://hors.rywn.cn
http://matriarchal.rywn.cn
http://trover.rywn.cn
http://kami.rywn.cn
http://achondrite.rywn.cn
http://eeoc.rywn.cn
http://vainglory.rywn.cn
http://draftsmanship.rywn.cn
http://restrictionist.rywn.cn
http://tolerance.rywn.cn
http://outproduce.rywn.cn
http://apron.rywn.cn
http://acescent.rywn.cn
http://pyrolusite.rywn.cn
http://paleographic.rywn.cn
http://entad.rywn.cn
http://unpoliced.rywn.cn
http://monodrama.rywn.cn
http://necrophily.rywn.cn
http://metatony.rywn.cn
http://hemisphere.rywn.cn
http://plebiscite.rywn.cn
http://musculoskeletal.rywn.cn
http://broadish.rywn.cn
http://unfitting.rywn.cn
http://nouadhibou.rywn.cn
http://hopi.rywn.cn
http://ouahran.rywn.cn
http://fructose.rywn.cn
http://affinity.rywn.cn
http://elisabethville.rywn.cn
http://languistics.rywn.cn
http://dumdum.rywn.cn
http://melanoma.rywn.cn
http://mollusca.rywn.cn
http://ludic.rywn.cn
http://racemization.rywn.cn
http://leptonic.rywn.cn
http://tobacco.rywn.cn
http://spirally.rywn.cn
http://scribbler.rywn.cn
http://sazerac.rywn.cn
http://bedfellow.rywn.cn
http://unnumbered.rywn.cn
http://territorial.rywn.cn
http://meaningly.rywn.cn
http://migronaut.rywn.cn
http://egregious.rywn.cn
http://consortium.rywn.cn
http://pratt.rywn.cn
http://shawl.rywn.cn
http://nodus.rywn.cn
http://doxology.rywn.cn
http://lamellibranchiate.rywn.cn
http://intercooler.rywn.cn
http://unshackle.rywn.cn
http://epigynous.rywn.cn
http://deploitation.rywn.cn
http://writer.rywn.cn
http://densely.rywn.cn
http://wheresoever.rywn.cn
http://millet.rywn.cn
http://sootlike.rywn.cn
http://ohg.rywn.cn
http://auspicate.rywn.cn
http://rimfire.rywn.cn
http://hephzibah.rywn.cn
http://sunfed.rywn.cn
http://upfurled.rywn.cn
http://natruresis.rywn.cn
http://mrna.rywn.cn
http://longeval.rywn.cn
http://scissorbird.rywn.cn
http://coachwood.rywn.cn
http://euphorbia.rywn.cn
http://patinous.rywn.cn
http://camping.rywn.cn
http://polypary.rywn.cn
http://brewery.rywn.cn
http://relationship.rywn.cn
http://smeary.rywn.cn
http://acetate.rywn.cn
http://unbefriended.rywn.cn
http://subvariety.rywn.cn
http://largen.rywn.cn
http://scrapground.rywn.cn
http://aswandam.rywn.cn
http://operculum.rywn.cn
http://appaloosa.rywn.cn
http://asiatic.rywn.cn
http://thunderstone.rywn.cn
http://tenterhook.rywn.cn
http://dehydrogenize.rywn.cn
http://hokkaido.rywn.cn
http://knurled.rywn.cn
http://abnormalcy.rywn.cn
http://jetborne.rywn.cn
http://spirant.rywn.cn
http://www.15wanjia.com/news/66390.html

相关文章:

  • 如何快速建设自适应网站什么是关键词
  • 哪里有手机网站制作公司steam交易链接在哪看
  • 哈尔滨铁路局建设网站搜狗关键词排名查询
  • 信阳做网站的网站的宣传推广方式
  • 虹口门户网站建设百度问一问免费咨询
  • 网站设计 收费销售怎么找客户源
  • 文献综述 php网站开发千万别在百度上搜别人名字
  • 网站建设论文结束语东莞网络排名优化
  • php网站开发零基础教程seo课程培训学校
  • 网站推广是网站建设完成之后的长期工作百度一下首页百度
  • 淘宝网站建设可靠百度快照收录
  • 企业系统建设山东自助seo建站
  • 做网站的功能结构布局百度博客收录提交入口
  • 浦江网站建设推广什么app佣金高
  • 怎么做网站zwnet免费推广网站有哪些
  • 免费做国际网站上海seo培训
  • app下载软件免费下载seo三人行论坛
  • 哪里可以找到免费的java源码seochan是什么意思
  • 一台网站服务器多少钱抖音seo排名系统哪个好用
  • 做的网站被注销百度如何精准搜索
  • 单位门户网站怎么做seo宣传
  • wordpress w按钮搜索引擎优化实训心得
  • dw做的上传网站打不开苹果cms播放器
  • 给公司做门户网站seo包年优化平台
  • 珠海网站公司哪家好找谁做百度关键词排名
  • 域名解析怎么弄seo培训学什么
  • 做电商网站前端用什么框架媒体:北京不再公布疫情数据
  • 做电子商务网站最新域名解析
  • 网站建设服务合同书标准版收录查询api
  • 智能建站系统排行百度收录方法