代码中有一些错误:

  1. t.flllcolor(color) 应该是 t.fillcolor(color)

  2. t.bgpic('./bg.gif')t.bgpic('./red_bg.gif') 应该在 setup() 函数中设置,而不是在 star() 函数中。

  3. star() 函数中的最后两行代码应该在 main 函数中,而不是在 star() 函数中。

下面是修改后的代码:

import turtle as t
import random
import time

# 画笔
t.pensize(1)
t.delay(1)
t.hideturtle()

# 画布大小
t.setup(800, 800)
t.bgpic('./red_bg.gif')

def star(x, y, left_angle, edge_len, color='yellow'):
    t.pencolor(color)
    t.fillcolor(color)
    # 速度 0最快 10最慢
    t.speed(0)

    t.penup()
    t.goto(x, y)
    t.pendown()

    # 填充图形
    t.begin_fill()
    t.left(left_angle)
    for _ in range(5):
        t.forward(edge_len)
        t.right(144)
    t.end_fill()  # 完成

    t.left(-left_angle)

def main():
    # 绘制背景星星
    for _ in range(200):
        rand_x = random.randint(-400, 400)
        rand_y = random.randint(0, 400)
        edge_len = random.randint(3, 8)
        left_angle = random.randint(0, 180)
        star(rand_x, rand_y, edge_len, left_angle, '#B7C5D2')

    # 绘制五星红旗
    star(-360, 320, 0, 80)
    star(-260, 350, 40, 18)
    star(-235, 330, 20, 18)
    star(-235, 295, 0, 18)
    star(-260, 270, -10, 18)

    # 停留
    t.done()

if __name__ == '__main__':
    main()

原文地址: https://www.cveoy.top/t/topic/mNBB 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录