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.pswp.cn/news/446242.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/446242.shtml
英文地址,請注明出處:http://en.pswp.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…