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 11 Python
Python最基本的输入输出详解
Apr 25 Python
python爬虫headers设置后无效的解决方法
Oct 21 Python
Windows下Anaconda的安装和简单使用方法
Jan 04 Python
python实现换位加密算法的示例
Oct 14 Python
对Python3 goto 语句的使用方法详解
Feb 16 Python
python实践项目之监控当前联网状态详情
May 23 Python
PyTorch实现更新部分网络,其他不更新
Dec 31 Python
keras 模型参数,模型保存,中间结果输出操作
Jul 06 Python
教你用Python写一个植物大战僵尸小游戏
Apr 25 Python
OpenCV-Python使用cv2实现傅里叶变换
Jun 09 Python
Python socket如何解析HTTP请求内容
Feb 12 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 __autoload()方法真的影响性能吗?
2012/03/30 PHP
PHP filter_var() 函数 Filter 函数
2012/04/25 PHP
简单分析ucenter 会员同步登录通信原理
2014/08/25 PHP
checkbox 多选框 联动实现代码
2008/10/22 Javascript
javascript使用eval或者new Function进行语法检查
2010/10/16 Javascript
原生javascript实现图片滚动、延时加载功能
2015/01/12 Javascript
jQuery.trim() 函数及trim()用法详解
2015/10/26 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
Wireshark基本介绍和学习TCP三次握手
2016/08/15 Javascript
js中删除数组中的某一元素实例(无下标时)
2017/02/28 Javascript
详解Angular.js中$http拦截器的介绍及使用
2017/07/04 Javascript
jquery之基本选择器practice(实例讲解)
2017/09/30 jQuery
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
2018/08/08 Javascript
详解vue-cli3多页应用改造
2019/06/04 Javascript
JS工厂模式开发实践案例分析
2019/10/17 Javascript
[45:38]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第一局
2016/03/02 DOTA
Python处理XML格式数据的方法详解
2017/03/21 Python
Mac中升级Python2.7到Python3.5步骤详解
2017/04/27 Python
1分钟快速生成用于网页内容提取的xslt
2018/02/23 Python
对pandas数据判断是否为NaN值的方法详解
2018/11/06 Python
Python和Go语言的区别总结
2019/02/20 Python
Python中函数参数匹配模型详解
2019/06/09 Python
浅谈Python访问MySQL的正确姿势
2020/01/07 Python
如何真正的了解python装饰器
2020/08/14 Python
Django-celery-beat动态添加周期性任务实现过程解析
2020/11/26 Python
空字符串(“”)和null的区别
2012/11/13 面试题
中文系学生自荐信范文
2013/11/13 职场文书
公司成本主管岗位责任制
2014/02/21 职场文书
安全教育感言
2014/03/04 职场文书
2014年学校卫生工作总结
2014/11/20 职场文书
2015年安全教育月活动总结
2015/03/26 职场文书
2015年售票员工作总结
2015/04/29 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
Python机器学习之逻辑回归
2021/05/11 Python
解决Navicat for MySQL 连接 MySQL 报2005错误的问题
2021/05/29 MySQL
分享3个非常实用的 Python 模块
2022/03/03 Python