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中的实例方法、静态方法、类方法、类变量和实例变量浅析
Apr 26 Python
python 字典(dict)遍历的四种方法性能测试报告
Jun 25 Python
Python中的高级函数map/reduce使用实例
Apr 13 Python
Python2.7编程中SQLite3基本操作方法示例
Aug 09 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
Mar 15 Python
Python HTML解析模块HTMLParser用法分析【爬虫工具】
Apr 05 Python
Python获取好友地区分布及好友性别分布情况代码详解
Jul 10 Python
django中账号密码验证登陆功能的实现方法
Jul 15 Python
python实现两张图片拼接为一张图片并保存
Jul 16 Python
python快速排序的实现及运行时间比较
Nov 22 Python
基于Python脚本实现邮件报警功能
May 20 Python
python3 os进行嵌套操作的实例讲解
Nov 19 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
PHP保留两位小数并且四舍五入及不四舍五入的方法
2013/09/22 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
2014/06/12 PHP
ThinkPHP控制器详解
2015/07/27 PHP
Laravel 连接(Join)示例
2019/10/16 PHP
javascript字典探测用户名工具
2006/10/05 Javascript
javascript 词法作用域和闭包分析说明
2010/08/12 Javascript
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
2011/11/30 Javascript
js对象转json数组的简单实现案例
2014/02/28 Javascript
html文档中的location对象属性理解及常见的用法
2014/08/13 Javascript
javascript中checkbox使用方法简单实例演示
2015/11/17 Javascript
JavaScript程序设计之JS调试
2015/12/09 Javascript
JavaScript数据结构与算法之栈与队列
2016/01/29 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
JavaScript实现时间倒计时跳转(推荐)
2016/06/28 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
Angular.js自定义指令学习笔记实例
2017/02/24 Javascript
angularjs实现下拉列表的选中事件示例
2017/03/03 Javascript
Vue中组件之间数据的传递的示例代码
2017/09/08 Javascript
详解mpvue中小程序自定义导航组件开发指南
2019/02/11 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
2019/06/21 Python
python3实现二叉树的遍历与递归算法解析(小结)
2019/07/03 Python
Django 自动生成api接口文档教程
2019/11/19 Python
python shutil文件操作工具使用实例分析
2019/12/25 Python
办公室文秘岗位职责
2013/11/15 职场文书
团日活动策划书
2014/02/01 职场文书
餐厅采购员岗位职责
2014/03/06 职场文书
乡镇平安建设汇报材料
2014/08/25 职场文书
活动总结格式
2014/08/30 职场文书
领导参观欢迎词
2015/01/26 职场文书
行政处罚告知书
2015/07/01 职场文书
2019个人工作自我评价范文(3篇)
2019/09/19 职场文书
解决Pytorch修改预训练模型时遇到key不匹配的情况
2021/06/05 Python
使用nginx配置访问wgcloud的方法
2021/06/26 Servers
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
2021/09/25 Servers