zoukankan      html  css  js  c++  java
  • python圣诞树编写实例详解

    在本篇文章里小编给大家整理的是关于python圣诞树代码的相关内容,有兴趣的朋友们可以学习下。

     

    python圣诞树代码

    1、简单的绘制圣诞树

    新建tree1.py或者直接输入下面代码运行

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    #声明树的高度
     
    height = 5
     
    #树的雪花数,初始为1
     
    stars = 1
     
    #以数的高度作为循环次数
     
      
     
    for i in range(height):
     
     print((' ' * (height - i)) + ('*' * stars))
     
     stars += 2
     
    #输出树干
     
    print((' ' * height) + '|')

    2、使用turtle绘制简单圣诞树

    新建tree2py,输入以下代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    #导入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,输入以下代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    #导入所依赖的库
     
    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)

    运行:

    本文来自博客园,作者:木子欢儿,转载请注明原文链接:https://www.cnblogs.com/HGNET/p/15685957.html

  • 相关阅读:
    打印java 对象信息的小技巧
    git 忽略已经跟踪文件的改动
    mysql主从备份方案
    Lucene4.3和Lucene3.5性能对比(二)
    Lucene4.3和Lucene3.5性能对比(一)
    Cracking the coding interview--Q1.1
    CRACKING THE CODING INTERVIEW 笔记(1)
    关于名称重整(name mangling)、多态性的一些简单介绍
    shell中sed用法
    GDB调试GCC(jRate)
  • 原文地址:https://www.cnblogs.com/HGNET/p/15685957.html
Copyright © 2011-2022 走看看