Python turtle库的应用——蛇

turtle库介绍

1、Turtle中的turtle.setup()函数用于启动一个图形窗口,它有四个参数

turtle.setup(width, height, startx, starty)

分别是:启动窗口的宽度高度表示窗口启动时,窗口左上角在屏幕中的坐标位置。

我们所使用的显示屏幕也是一个坐标系,该坐标系以左上角为原点,向左和向下分别是x轴和y轴。蟒蛇程序代码启动一个1300像素宽、800像素高的窗,该窗口的左上角是屏幕的左上角。

(startx,starty)表示画的初始点,(0,0)表示位于电脑屏幕中心

2、Turtle中的turtle.pensize()函数表示小乌龟运动轨迹的宽度。

3、Turtle中的turtle.pencolor()函数表示小乌龟运动轨迹的颜色。

它包含一个输入参数,这里我们把它设为蓝色,blue,其他颜色单词也可以使用。Turtle采用RGB方式来定义颜色,如果希望获得和图片中颜色一致的小蛇,请输入turtle.pencolor(“#3B9909”)

4、Turtle中的turtle.seth(angle)函数表示小乌龟启动时运动的方向。它包含一个输入参数,是角度值。

其中,0表示向东,90度向北,180度向西,270度向南;负值表示相反方向。程序中,我们让小乌龟向-40度启动爬行,即:向东南方向40度。

5、turtle.circle()函数让小乌龟沿着一个圆形爬行

参数rad描述圆形轨迹半径的位置,这个半径在小乌龟运行的左侧,rad远位置处。如果 rad为负值,则半径在小乌龟运行的右侧, 参数angle表示小乌龟沿着圆形爬行的弧度值。

6、turtle.fd()函数也可以用turtle.forward()表示乌龟向前直线爬行移动表示小乌龟向前直线爬行移动,

它有一个参数表示爬行的距离 

7、详细参数描述

程序1

import turtledef drawSnake(rad,angle,num,neckrad):for i in range(num):turtle.circle(rad,angle)turtle.circle(-rad,angle)turtle.circle(rad,angle/2)turtle.fd(rad)turtle.circle(neckrad+1,180)turtle.fd(rad*2/3)def main():turtle.setup(1300,800,0,0)pythonsize=30turtle.pensize(pythonsize)turtle.pencolor('blue')turtle.seth(-40)drawSnake(40,80,3,pythonsize/2)
main()

2、更改颜色

3、三角形

import turtle
turtle.setup(1000,1000,0,0)
size=20
turtle.pensize(size)
turtle.color("red")
length=200
turtle.seth(0)
turtle.fd(length)
turtle.seth(120)
turtle.fd(length)
turtle.seth(240)
turtle.fd(length)

4、五角星

from turtle import *
color("yellow","red")
pensize(10)
begin_fill()#和end_fill成对出现,填充起点和终点
while True:forward(200)right(144)if abs(pos())<1:#获取位置的绝对值break
end_fill()

import turtleturtle.pensize(10)
turtle.fillcolor("red")
turtle.begin_fill()
for i in range(5):turtle.fd(200)turtle.right(144)
turtle.end_fill()

比较上面两段代码,第一种通过计算位置距离结束while循环,第二种通过确定数目的if循环结束程序。

第一种通过from turtle import * 引入turtle库,程序中调用函数,不用再加turtle.前缀,第二种通过import turtle引入turtle库,调用函数需要加turtle.前缀。

5、太阳花

 1 from turtle import *2 color("yellow","red")3 pensize(3)4 begin_fill()#和end_fill成对出现,填充起点和终点5 while True:6     forward(200)7     right(165)8     if abs(pos())<1:#获取位置的绝对值9         break
10 end_fill()

更改旋转角度,得到漂亮的花

#最简单的圣诞树

1height = 5
2
3stars = 1
4for i in range(height):
5    print((' ' * (height - i)) + ('*' * stars))
6    stars += 2
7print((' ' * height) + '|')

#turtlr方法一 1import turtle 2screen = turtle.Screen() 3screen.setup(800,600) 4circle = turtle.Turtle() 5circle.shape('circle') 6circle.color('red') 7circle.speed('fastest') 8circle.up() 9square = turtle.Turtle()10square.shape('square')11square.color('green')12square.speed('fastest')13square.up()14circle.goto(0,280)15circle.stamp()16k = 017for i in range(1, 17):18    y = 30*i19    for j in range(i-k):20        x = 30*j21        square.goto(x,-y+280)22        square.stamp()23        square.goto(-x,-y+280)24        square.stamp()25    if i % 4 == 0:26        x = 30*(j+1)27        circle.color('red')28        circle.goto(-x,-y+280)29        circle.stamp()30        circle.goto(x,-y+280)31        circle.stamp()32        k += 233    if i % 4 == 3:34        x = 30*(j+1)35        circle.color('yellow')36        circle.goto(-x,-y+280)37        circle.stamp()38        circle.goto(x,-y+280)39        circle.stamp()40square.color('brown')41for i in range(17,20):42    y = 30*i43    for j in range(3):44        x = 30*j45        square.goto(x,-y+280)46        square.stamp()47        square.goto(-x,-y+280)48        square.stamp()49turtle.exitonclick()

#turtle方法2
1from turtle import *2import random3import time45n = 80.067speed("fastest")8screensize(bg='seashell')9left(90)
10forward(3*n)
11color("orange", "yellow")
12begin_fill()
13left(126)
14
15for i in range(5):
16    forward(n/5)
17    right(144)
18    forward(n/5)
19    left(72)
20end_fill()
21right(126)
22
23color("dark green")
24backward(n*4.8)
25def tree(d, s):
26    if d <= 0: return
27    forward(s)
28    tree(d-1, s*.8)
29    right(120)
30    tree(d-3, s*.5)
31    right(120)
32    tree(d-3, s*.5)
33    right(120)
34    backward(s)
35tree(15, n)
36backward(n/2)
37
38for i in range(200):
39    a = 200 - 400 * random.random()
40    b = 10 - 20 * random.random()
41    up()
42    forward(b)
43    left(90)
44    forward(a)
45    down()
46    if random.randint(0, 1) == 0:
47            color('tomato')
48    else:
49        color('wheat')
50    circle(2)
51    up()
52    backward(a)
53    right(90)
54    backward(b)
55time.sleep(60)

View Code

转载于:https://www.cnblogs.com/YiYA-blog/p/10193237.html

python_turtle库_应用之画圣诞树相关推荐

  1. python turtle画圣诞树动图_圣诞节!教你用Python画棵圣诞树

    作者 | 糖甜甜甜,985高校经管研二,擅长用 Python.R.tableau 等工具结合统计学和机器学习模型做数据分析. 如何用Python画一个圣诞树呢? 最简单: 1height =5 2 3 ...

  2. python画圣诞树代码解读_使用Python画了一棵圣诞树的实例代码

    分享给大家一篇文章,教你怎样用Python画了一棵圣诞树,快来学习. 如何用Python画一个圣诞树呢? 最简单: height = 5 ​ stars = 1 for i in range(heig ...

  3. 用python的turtle画圣诞树_使用Python画了一棵圣诞树的实例代码

    分享给大家一篇文章,教你怎样用Python画了一棵圣诞树,快来学习. 如何用Python画一个圣诞树呢? 最简单: height = 5 ​ stars = 1 for i in range(heig ...

  4. python圣诞树代码成品图片动态_节日快乐! Python画一棵圣诞树送给你

    本文实例为大家分享了Python画圣诞树的具体代码,供大家参考,具体内容如下 源代码 from turtle import * import random import time #from unit ...

  5. python节日快乐_节日快乐! Python画一棵圣诞树送给你

    本文实例为大家分享了Python画圣诞树的具体代码,供大家参考,具体内容如下 源代码 from turtle import * import random import time #from unit ...

  6. 简单python画圣诞树图片-圣诞节!教你用 Python 画棵圣诞树

    原标题:圣诞节!教你用 Python 画棵圣诞树 作者 | 糖甜甜甜 责编 | 胡巍巍 如何用Python画一个圣诞树呢? 最简单: 1height = 5 2 3stars = 1 4for i i ...

  7. python画圣诞树代码-圣诞节!教你用Python画棵圣诞树

    原标题:圣诞节!教你用Python画棵圣诞树 | 作者:糖糖甜甜 | 来源:经管人学数据分析(ID:DAT-2017) | 欢迎转载,请注明出处. 如何用python画一个圣诞树呢? 最简单: 1he ...

  8. 用python画圣诞树-圣诞节!教你用 Python 画棵圣诞树

    原标题:圣诞节!教你用 Python 画棵圣诞树 作者 | 糖甜甜甜 责编 | 胡巍巍 如何用Python画一个圣诞树呢? 最简单: 1height = 5 2 3stars = 1 4for i i ...

  9. 用python画圣诞树的圣诞树代码

    今天给大家分享通过Pythoy用Turtle库来画圣诞树代码. Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始 ...

最新文章

  1. Daily Scrum 9.28
  2. 笔记本电池电量校正方法(转CSDN)
  3. 点云网络的论文理解(六)-Frustum PointNets 总体概括
  4. egret键盘事件监听
  5. [ZZ]Debug VBScript with Visual Studio
  6. Linux集群和自动化维1.3 如何根据服务器应用选购服务器
  7. Linux Mysql5.6安装
  8. arduino 土壤温湿度传感器_三分钟告诉你Arduino是什么
  9. Linux/Ubuntu下解压命令
  10. 十四步实现强大的五子棋AI
  11. Docker部署AI算法教程
  12. Win11 WSA 安卓子系统 下载安装更新
  13. Python爬取百思不得姐段子
  14. 延期年金(deferred annuity)
  15. 基于CNN的微信二维码引擎OpenCV开源!
  16. 房屋安全鉴定的建筑结构检测技术
  17. Google广告投放技巧,开始Google广告投放
  18. 使用ArcPy实现创建ags文件
  19. 我是那个逼走创业合伙人的CEO,我有话说!
  20. Ubuntu PPA用法简介

热门文章

  1. python中shutil是什么意思_python中shutil模块
  2. 信用卡分期手续费率与贷款利率间的相互转换
  3. C语言练习——门牌制作
  4. NVL函数和COALESCE函数的区别
  5. sleuth+zipkin链路追踪
  6. 今天是大自然的搬运工
  7. centos7建立局域网yum源
  8. 共享汽车软件哪个比较好用?只有这3款不需要押金!
  9. android 电量排行榜,最省电的安卓手机(2021最新手机续航排名)
  10. python3中有urllib2吗_python3没有urllib2该怎么处理?