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 相关文章推荐
12步入门Python中的decorator装饰器使用方法
Jun 20 Python
Python获取文件所在目录和文件名的方法
Jan 12 Python
解决每次打开pycharm直接进入项目的问题
Oct 28 Python
Python告诉你木马程序的键盘记录原理
Feb 02 Python
python中break、continue 、exit() 、pass终止循环的区别详解
Jul 08 Python
python3使用GUI统计代码量
Sep 18 Python
python 进程间数据共享multiProcess.Manger实现解析
Sep 23 Python
Python超越函数积分运算以及绘图实现代码
Nov 20 Python
python实现字符串和数字拼接
Mar 02 Python
python 实现百度网盘非会员上传超过500个文件的方法
Jan 07 Python
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
Jun 07 Python
Python编写车票订购系统 Python实现快递收费系统
Aug 14 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
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
2006/10/09 PHP
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
PHP三元运算的2种写法代码实例
2014/05/12 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
2015/03/03 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
php析构函数的简单使用说明
2015/08/24 PHP
php微信公众号开发之图片回复
2018/10/20 PHP
身份证号码前六位所代表的省,市,区, 以及地区编码下载
2007/04/12 Javascript
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
JavaScript使用IEEE 标准进行二进制浮点运算产生莫名错误的解决方法
2011/05/28 Javascript
关于jquery性能最佳实践的讨论,与求教
2012/03/30 Javascript
javascript与cookie 的问题详解
2013/11/11 Javascript
让jQuery与其他JavaScript库并存避免冲突的方法
2013/12/23 Javascript
ExtJS判断IE浏览器类型的方法
2014/02/10 Javascript
详解JavaScript正则表达式中的global属性的使用
2015/06/16 Javascript
利用Javascript实现BMI计算器
2016/08/16 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
2016/12/09 Javascript
vue实现树形菜单效果
2018/03/19 Javascript
VUE2.0中Jsonp的使用方法
2018/05/22 Javascript
vue 1.0 结合animate.css定义动画效果
2018/07/11 Javascript
解决vue-router在同一个路由下切换,取不到变化的路由参数问题
2018/09/01 Javascript
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
Python利用ansible分发处理任务
2015/08/04 Python
python结合API实现即时天气信息
2016/01/19 Python
Python遍历目录并批量更换文件名和目录名的方法
2016/09/19 Python
Python字符串格式化的方法(两种)
2017/09/19 Python
python实战之实现excel读取、统计、写入的示例讲解
2018/05/02 Python
详解Python3 对象组合zip()和回退方式*zip
2019/05/15 Python
将Python字符串生成PDF的实例代码详解
2019/05/17 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
刚毕业大学生自荐信范文
2014/02/20 职场文书
收银出纳员岗位职责
2014/02/23 职场文书
python实现网络五子棋
2021/04/11 Python
学会Python数据可视化必须尝试这7个库
2021/06/16 Python