如何使用 Turtle 绘制星星

How to draw a star using Turtle

假设一个名为 draw_star 的函数有两个参数:大小和点数,如:

def draw_star(size,points):

如果我使用

调用该函数
draw_star(100, 9)

输出应该是这样的

我得到的参考是这样的:

import turtle as t
for x in range(18):
    t.forward(100)
    if x%2 == 0:
        t.left(175)
    else:
        t.left(225)

现在如果我调用 draw_star(100,7),我希望它绘制相同的星星但有 7 个点

你的问题是什么?

如果你想将引用转换为函数,你可以这样做:

import turtle as t

def draw_star(size, points):
    for x in range(points):
        t.forward(size)
        if x % 2 == 0:
            t.left(175)
        else:
            t.left(225)

现在可以调用函数了:draw_star(100, 18)

您获得的参考有效并创建了一个 18 分星

import turtle as t

def draw_star(size, points):
    tipcorner = 5
    cavity = ( 360+points*tipcorner )/points #get corner between tips 
    for x in range(points*2):
        t.forward(size)
        if x % 2 == 0:
            t.left(180-tipcorner)
        else:
            t.right(180-cavity)