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

作者 | 糖甜甜甜,985高校经管研二,擅长用 Python、R、tableau 等工具结合统计学和机器学习模型做数据分析。

如何用Python画一个圣诞树呢?

最简单:

1height =5

2

3stars =1

4for i inrange(height):

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

6stars +=2

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

效果:

哈哈哈哈,总有一种骗了大家的感觉。

其实本文是想介绍Turtle库来画圣诞树。

方法一:

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(,280)

15circle.stamp()

16k =

17for i inrange(1,17):

18y =30*i

19forj inrange(i-k):

20x =30*j

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

22square.stamp()

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

24square.stamp()

25ifi %4==:

26x =30*(j+1)

27circle.color('red')

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

29circle.stamp()

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

31circle.stamp()

32k +=2

33ifi %4==3:

34x =30*(j+1)

35circle.color('yellow')

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

37circle.stamp()

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

39circle.stamp()

40square.color('brown')

41for i inrange(17,20):

42y =30*i

43forj inrange(3):

44x =30*j

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

46square.stamp()

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

48square.stamp()

49turtle.exitonclick()

效果:

方法二:

1from turtleimport*

2import random

3import time

4

5n =80.0

6

7speed("fastest")

8screensize(bg='seashell')

9left(90)

10forward(3*n)

11color("orange","yellow")

12begin_fill()

13left(126)

14

15for i inrange(5):

16forward(n/5)

17right(144)

18forward(n/5)

19left(72)

20end_fill()

21right(126)

22

23color("dark green")

24backward(n*4.8)

25def tree(d, s):

26ifd

27forward(s)

28tree(d-1, s*.8)

29right(120)

30tree(d-3, s*.5)

31right(120)

32tree(d-3, s*.5)

33right(120)

34backward(s)

35tree(15, n)

36backward(n/2)

37

38for i inrange(200):

39a =200-400* random.random()

40b =10-20* random.random()

41up()

42forward(b)

43left(90)

44forward(a)

45down()

46ifrandom.randint(,1) ==:

47color('tomato')

48else:

49color('wheat')

50circle(2)

51up()

52backward(a)

53right(90)

54backward(b)

55time.sleep(60)

效果:

好了,我要先去画圣诞树啦~祝大家圣诞节快乐!!!

本文为作者投稿,版权归对方所有。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/446242.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java蓝桥杯 试题-基础练习-十六进制转八进制

试题-基础练习-十六进制转八进制 题目 试题 基础练习 十六进制转八进制 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述   给定n个十六进制正整数,输出它们对应的八进制数。 输入格式   输入的第一行为一个正整数n (1…

STL源码剖析 map

所有元素会根据元素的键值自动被排序 元素的类型是pair&#xff0c;同时拥有键值和实值&#xff1b;map不允许两个元素出现相同的键值pair 代码 template <class T1,class T2> struct pair{typedef T1 first_type;typedef T2 second_type;T1 first; //publicT2 secon…

java api接口怎么写_Java 如何设计 API 接口,实现统一格式返回?

来源&#xff1a;老顾聊技术前言接口交互返回格式控制层Controller美观美化优雅优化实现方案前言在移动互联网&#xff0c;分布式、微服务盛行的今天&#xff0c;现在项目绝大部分都采用的微服务框架&#xff0c;前后端分离方式&#xff0c;(题外话&#xff1a;前后端的工作职责…

java 输出学生成绩和成绩等级

题目 从键盘读入学生成绩&#xff0c;找出最高分&#xff0c;并输出学生成绩等级。成绩>最高分-10 等级为’A’成绩>最高分-20 等级为’B’成绩>最高分-30 等级为’C’其余 等级为’D’提示&#xff1a;先读入学生人数&#xff0c;根据人数创建int数组&#…

STL源码剖析 multiset 和 multimap

multiset和set完全相同&#xff0c;唯一的差别在于允许键值的重复&#xff0c;因此底层操作使用的是红黑树的insert_equal() 而不是insert_unique()multimap和map完全相同&#xff0c;唯一的差别在于允许键值的重复&#xff0c;因此底层操作使用的是红黑树的insert_equal() 而不…

java 二维数组

声明和初始化 静态初始化 // 静态初始化&#xff1a; // 一维数组int[] arr1_1 {1, 2, 4};System.out.println(Arrays.toString(arr1_1)); // 二维数组int[][] arr1_2 {{1, 2}, {4, 5}, {9, 10}};for (int[] i :arr1_2) {System.out.print(Arrays.toS…

STL源码剖析 hashtable

二叉搜索树具有对数平均时间的表现&#xff0c;但是这个需要满足的假设前提是输入的数据需要具备随机性hashtable 散列表这种结构在插入、删除、搜寻等操作层面上也具有常数平均时间的表现。而且不需要依赖元素的随机性&#xff0c;这种表现是以统计为基础的 hashtable的概述 …

append在python里是什么意思_“一棵绿萝七个鬼”是什么意思?卧室里到底能不能养绿萝!...

很多人都喜欢在家里养盆绿萝&#xff0c;一是能净化室内空气&#xff0c;让家里绿意浓浓&#xff0c;更有生机一些&#xff1b;二是绿萝好养&#xff0c;水培土培都行&#xff0c;养着也省心。在养花界有一句俗语&#xff1a;“一棵绿萝七个鬼”&#xff0c;这句话是什么意思呢…

java 二分查找

注意 二分查找要求原数组为有序序列&#xff0c;从小到大 递归解法 public class problem9 {public static void main(String[] args) {int[] arr {1,2,3,4,6,7};int left 0;int right arr.length - 1;int value 2;System.out.println(Arrays.toString(arr));int index …

C++for_each| bind1st | ptr_fun | std::function的用法

c for_each 用法_小键233-CSDN博客 传入参数 要传入参数给global function ,需要使用 ptr_fun() 这个 function adapter 将global function 转成function object , 然后再用bind2nd() 将参数bind成一个function object。&#xff08;这句话好拗口&#xff09; void fun(int i…

java三个柱子汉诺塔问题

题目 移动盘子&#xff0c;每一次只能移动一个&#xff0c;小盘子在大盘子上。 打印1 from A to B过程 注意 1&#xff09;盘子编号的变化和辅助柱子的变化 2&#xff09;当盘子编号为1时&#xff0c;结束递归&#xff0c;此时移动结束 代码 package p2;/*** Illustratio…

python遍历txt每一行_python – 计算(和写入)文本文件中每一行的...

第一次在堆栈中发布 – 总是发现以前的问题足以解决我的问题&#xff01;我遇到的主要问题是逻辑……即使是伪代码答案也会很棒. 我正在使用python从文本文件的每一行读取数据,格式如下&#xff1a; This is a tweet captured from the twitter api #hashtag http://url.com/si…

java杨辉三角形

题目 代码1 public class YangHuiTriangle {public static void main(String[] args) {print(10);}public static void print(int num) {int[][] arr new int[num][];for (int i 0; i < num; i) { // 第一行有 1 个元素, 第 n 行有 n 个元素arr[i] new int[i…

python子类继承父类属性实例_python – 从子类内的父类访问属性

在类定义期间,没有任何继承的属性可用&#xff1a; >>> class Super(object): class_attribute None def instance_method(self): pass >>> class Sub(Super): foo class_attribute Traceback (most recent call last): File "", line 1, in cl…

STL源码剖析 算法开篇

STL源码剖析 算法章节 算法总览_CHYabc123456hh的博客-CSDN博客 质变算法 质变算法 - 会改变操作对象的数值&#xff0c;比如互换、替换、填写、删除、排列组合、分隔、随机重排、排序等 #include <iostream> #include <vector>int main(){int ia[] {22,30,20,34…

java 随机数一维数组

题目1 创建一个长度为6的int型数组&#xff0c;要求数组元素的值都在1-30之间&#xff0c;且是随机赋值。同时&#xff0c;要求元素的值各不相同 代码1 public class ArrayTest2 {public static void main(String[] args) {generateArray(6);}public static void generateAr…

STL源码剖析 数值算法 accumulate | adjacent_difference | inner_product | partial_sum | power | itoa

//版本1 template <class InputIterator,class T> T accumulate(InputIterator first,InputIterator last,T init){for(;first ! last; first){init *first; //将每个元素数值累加到init身上}return init; }//版本2 template <class InputIterator,class T,class Bin…

python官网网址是什么意思_大家都是怎么部署python网站的?

flaskgunicornnginx 作者&#xff1a;Python小白 链接&#xff1a;centos下通过gunicorn和nginx部署Flask项目 - Python小白的文章 - 知乎专栏 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 之前用Flask写了个解析Tu…

java回形数矩阵

题目 从键盘输入一个整数&#xff08;1~20&#xff09; 则以该数字为矩阵的大小&#xff0c;把1,2,3…n*n 的数字按照顺时针螺旋的形式填入其中。例如&#xff1a; 输入数字2&#xff0c;则程序输出&#xff1a; 1 2 4 3 输入数字3&#xff0c;则程序输出&#xff1a; 1 2 3 8…

STL源码剖析 基本算法 equal | fill | iter_awap | lexicographical_compare | max | min | swap |mismatch

Equal 两个序列在[first,last)区间内相等&#xff0c;equal()返回true。以第一个序列作为基准&#xff0c;如果第二序列元素多不予考虑&#xff0c;如果要保证两个序列完全相等需要比较元素的个数 if(vec1.size() vec2.size() && equal(vec1.begin(),vec1.end(),vec2…