1. 程式人生 > >Merry Christmas! Python列印輸出聖誕樹

Merry Christmas! Python列印輸出聖誕樹

  1. *型聖誕樹
height = 15
stars = 1
for i in range(height):
    if i % 2 == 0 :
        print((' ' * (height - i)) + ('+' * stars))
    else:
        print((' ' * (height - i)) + ('*' * stars))
    stars += 2
print((' ' * height) + '|')

列印結果:
在這裡插入圖片描述
2. 升級版

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

顯示效果:
在這裡插入圖片描述
3.抽象版

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)

顯示效果:
在這裡插入圖片描述