python圣诞树编写实例详解


Posted in Python onFebruary 13, 2020

python圣诞树代码

1、简单的绘制圣诞树

新建tree1.py或者直接输入下面代码运行

#声明树的高度

height = 5

#树的雪花数,初始为1

stars = 1

#以数的高度作为循环次数

 

for i in range(height):

 print((' ' * (height - i)) + ('*' * stars))

 stars += 2

#输出树干

print((' ' * height) + '|')

python圣诞树编写实例详解

2、使用turtle绘制简单圣诞树

新建tree2py,输入以下代码

#导入turtle库

import turtle

#设置屏幕大小

screen = turtle.Screen()

screen.setup(800,600)

#获取画笔并设置一些属性:圆形、红色、快

circle = turtle.Turtle()

circle.shape('circle')

circle.color('red')

circle.speed('fastest')

#抬起画笔

circle.up()

#重新获取画笔

square = turtle.Turtle()

#重新设置画笔属性:四方形、绿色、快

square.shape('square')

square.color('green')

square.speed('fastest')

#重新抬起画笔

square.up()

#跳到指定坐标位置

circle.goto(0,280)

#复制当前图形

circle.stamp()

k = 0

for i in range(1, 17):

 y = 30*i

 for j in range(i-k):

  x = 30*j

  square.goto(x,-y+280)

  square.stamp()

  square.goto(-x,-y+280)

  square.stamp()

 if i % 4 == 0:

  x = 30*(j+1)

  circle.color('red')

  circle.goto(-x,-y+280)

  circle.stamp()

  circle.goto(x,-y+280)

  circle.stamp()

  k += 2

 if i % 4 == 3:

  x = 30*(j+1)

  circle.color('yellow')

  circle.goto(-x,-y+280)

  circle.stamp()

  circle.goto(x,-y+280)

  circle.stamp()

square.color('brown')

for i in range(17,20):

 y = 30*i

 for j in range(3):

  x = 30*j

  square.goto(x,-y+280)

  square.stamp()

  square.goto(-x,-y+280)

  square.stamp()

turtle.exitonclick()

运行:

python圣诞树编写实例详解

3、使用Turtle绘制复杂圣诞树

新建tree3.py,输入以下代码

#导入所依赖的库

from turtle import *

import random

import time

 

n = 80.0

#设置速度快

speed("fastest")

#背景颜色 海贝壳色,偏粉色

screensize(bg='seashell')

left(90)

forward(3*n)

color("orange", "yellow")

begin_fill()

left(126)

 

for i in range(5):

 forward(n/5)

 right(144)

 forward(n/5)

 left(72)

end_fill()

right(126)

 

color("dark green")

backward(n*4.8)

def tree(d, s):

 if d <= 0: return

 forward(s)

 tree(d-1, s*.8)

 right(120)

 tree(d-3, s*.5)

 right(120)

 tree(d-3, s*.5)

 right(120)

 backward(s)

tree(15, n)

backward(n/2)

 

for i in range(200):

 a = 200 - 400 * random.random()

 b = 10 - 20 * random.random()

 up()

 forward(b)

 left(90)

 forward(a)

 down()

 if random.randint(0, 1) == 0:

   color('tomato')

 else:

  color('wheat')

 circle(2)

 up()

 backward(a)

 right(90)

 backward(b)

time.sleep(60)

运行:

python圣诞树编写实例详解

以上就是python圣诞树代码的详细内容,感谢大家的学习和对三水点靠木的支持。

Python 相关文章推荐
初学python数组的处理代码
Jan 04 Python
盘点提高 Python 代码效率的方法
Jul 03 Python
Python的Django框架中自定义模版标签的示例
Jul 20 Python
Python实现完整的事务操作示例
Jun 20 Python
Python实现接受任意个数参数的函数方法
Apr 21 Python
windows下python 3.6.4安装配置图文教程
Aug 21 Python
浅谈python的深浅拷贝以及fromkeys的用法
Mar 08 Python
详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件
Aug 23 Python
Python 函数绘图及函数图像微分与积分
Nov 20 Python
解决pycharm 安装numpy失败的问题
Dec 05 Python
将pycharm配置为matlab或者spyder的用法说明
Jun 08 Python
Pandas之缺失数据的实现
Jan 06 Python
python如何实现复制目录到指定目录
Feb 13 #Python
Python制作简易版小工具之计算天数的实现思路
Feb 13 #Python
解决python-docx打包之后找不到default.docx的问题
Feb 13 #Python
Python更新所有已安装包的操作
Feb 13 #Python
python离线安装外部依赖包的实现
Feb 13 #Python
python获取依赖包和安装依赖包教程
Feb 13 #Python
python连接mongodb集群方法详解
Feb 13 #Python
You might like
20个PHP常用类库小结
2011/09/11 PHP
php旋转图片90度的方法
2013/11/07 PHP
php实现获取文章内容第一张图片的方法
2014/11/04 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
flash javascript之间的通讯方法小结
2008/12/20 Javascript
jquery ui dialog实现弹窗特效的思路及代码
2013/08/03 Javascript
table insertRow、deleteRow定义和用法总结
2014/05/14 Javascript
javascript 获取浏览器版本
2015/01/21 Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
2015/08/10 Javascript
js实现的奥运倒计时时钟效果代码
2015/12/09 Javascript
JavaScript:Date类型全面解析
2016/05/19 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
2017/01/03 Javascript
浅谈vue中慎用style的scoped属性
2017/11/28 Javascript
使用Angular CLI进行Build(构建)和Serve详解
2018/03/24 Javascript
vue组件的写法汇总
2018/04/12 Javascript
微信公众号H5之微信分享常见错误和问题(小结)
2019/11/14 Javascript
javascript用defineProperty实现简单的双向绑定方法
2020/04/03 Javascript
jquery更改元素属性attr()方法操作示例
2020/05/22 jQuery
[01:38]完美世界DOTA2联赛PWL S3 集锦第四期
2020/12/21 DOTA
Python实现生成简单的Makefile文件代码示例
2015/03/10 Python
python开发之thread线程基础实例入门
2015/11/11 Python
使用Python如何测试InnoDB与MyISAM的读写性能
2018/09/18 Python
对python requests的content和text方法的区别详解
2018/10/11 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
python tornado修改log输出方式
2019/11/18 Python
Python Numpy 控制台完全输出ndarray的实现
2020/02/19 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
python 多线程死锁问题的解决方案
2020/08/25 Python
html5的自定义data-*属性与jquery的data()方法的使用
2014/07/02 HTML / CSS
助理政工师申报材料
2014/06/03 职场文书
2015年招聘工作总结
2014/12/12 职场文书
2015最新学生自我评价范文
2015/03/03 职场文书
公司奖励通知
2015/04/21 职场文书
导游词之昭君岛
2020/01/17 职场文书
python调用ffmpeg命令行工具便捷操作视频示例实现过程
2021/11/01 Python
微软发布Windows 11今年最大更新22H2(附 ISO 镜像官方下载)
2022/09/23 数码科技