【问题标题】:Making a star in python turtle在蟒蛇龟中制作星星
【发布时间】:2015-11-15 18:02:43
【问题描述】:

我一直在尝试在 python 中创建一个明星,但我得到的只是一些曲折的线条。我的代码是:

import turtle
star = turtle.Turtle()
wn = turtle.Screen()
wn.setup(800, 600)
wn.tracer(0)
star.pensize(10)
star.hideturtle()
wn.bgcolo("green")
star.color(white)

def draw_stars(x, y, size):
    star. goto(x, y)
    star.forward(78)
    star.left(144)
    star.forward(78)
    star.right(144)
    star.forward(78)

我写了那个,但是当我运行这个程序并打开海龟时,我看不到星星应该在哪里打开角度。

【问题讨论】:

  • 省略wn.tracer(0),它会关闭动画。如果您看到乌龟按顺序执行每个移动/转弯,您会更容易看到发生了什么。

标签: python function draw turtle-graphics


【解决方案1】:
import turtle

my_turtle = turtle.Turtle()
size = 200

for _ in range(5):
    my_turtle.forward(size)
    my_turtle.left(144)

或者没有for

import turtle

my_turtle = turtle.Turtle()
size = 200

my_turtle.forward(size)
my_turtle.left(144)
my_turtle.forward(size)
my_turtle.left(144)
my_turtle.forward(size)
my_turtle.left(144)
my_turtle.forward(size)
my_turtle.left(144)
my_turtle.forward(size)
my_turtle.left(144)        

【讨论】:

    【解决方案2】:
    from turtle import *
    hideturtle()
    
    
    def draw_star(sidesize, points, alfacorner, color):
        betacorner = 360/points+alfacorner
        fillcolor(color)
        begin_fill()
        for x in range(points*2):
            forward(sidesize)
            if x % 2 == 0:
                left(180-alfacorner)
            else:
                right(180-betacorner)
        end_fill()
    
    
    draw_star(70, 8, 90, 'grey')
    draw_star(90, 5, 72, 'yellow')
    draw_star(120, 5, 36, 'red')
    draw_star(65, 6, 60, 'darkblue')
    draw_star(80, 4, 45, 'darkviolet')
    draw_star(80, 3, 30, 'greenyellow')
    draw_star(80, 6, 0, 'black')
    

    【讨论】:

      猜你喜欢
      • 2011-03-13
      • 2021-04-20
      • 1970-01-01
      • 2018-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多