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)

显示效果:
在这里插入图片描述

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以用以下 Python 代码来画圣诞树: ```python # -*- coding: utf-8 -*- # Python 3.x code to draw a Christmas Tree from turtle import * # Define function to draw and fill a rectangle. def draw_rectangle(x, y, width, height, color): fillcolor(color) begin_fill() setheading(0) goto(x, y) setheading(90) forward(height) setheading(180) forward(width) setheading(270) forward(height) setheading(0) forward(width) end_fill() # Define function to draw and fill a circle. def draw_circle(x, y, radius, color): fillcolor(color) begin_fill() goto(x, y - radius) setheading(0) circle(radius) end_fill() # Define function to draw a triangle. def draw_triangle(x, y, width, height, color): fillcolor(color) begin_fill() goto(x, y) setheading(0) forward(width) setheading(270) forward(height) setheading(230) forward((width**2 + height**2)**0.5) end_fill() # Main function to draw the Christmas tree. def draw_tree(x, y): # Draw the trunk. draw_rectangle(x - 20, y - 150, 40, 150, "brown") # Define the height and width of each triangle layer. layer_height = 40 layer_width = 150 # Define the number of triangle layers. num_layers = 4 # Draw each layer of the tree (bottom-up). for i in range(num_layers): layer_color = "green" if i % 2 == 0 else "dark green" layer_x = x - i * (layer_width / 2) layer_y = y - 150 + i * layer_height for j in range(i + 1): draw_triangle(layer_x + j * layer_width, layer_y, layer_width, layer_height, layer_color) # Draw the tree topper. draw_rectangle(x - 30, y - 20, 60, 40, "yellow") draw_triangle(x, y + 20, 50, 60, "yellow") draw_circle(x, y + 60, 20, "yellow") # Set up the turtle screen. setup(600, 600) title("Merry Christmas!") bgcolor("skyblue") # Draw the Christmas tree. speed(0) penup() goto(0, -150) pendown() draw_tree(0, 0) hideturtle() # Keep the turtle screen open until manually closed. done() ``` 希望能回答您的问题,也希望您能享受圣诞节的快乐时光!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值