为了账号安全,请及时绑定邮箱和手机立即绑定

如何从随机列表中绘制数字以用作海龟图形的 Y 坐标

如何从随机列表中绘制数字以用作海龟图形的 Y 坐标

摇曳的蔷薇 2021-12-17 14:48:05
我正在尝试为需要绘制花朵的海龟图形程序生成一个随机 Y 坐标列表,但为了防止花朵相互重叠,我需要从后向前绘制它们。我需要做的是将随机列表从大到小排序,然后让它按顺序绘制花朵。我已经设置程序生成 9 个随机数并将它们从大到小排序,但我不知道如何从该列表中按顺序绘制数字并将它们分配给花的 Y 值这是我生成随机列表的代码:def draw_stem(t,StemX,StemY):    StemYcoordinates=random.sample(range(-200,0),9)    sorted(StemYcoordinates, key=int)但是我无法将它连接到代码的这一部分,在那里它转到我想要绘制花的 xy 位置for i in range(9):    t.setheading(90)    t.pensize(7-(StemYcoordinate//40))    t.color("#39ff14")    t.penup()    t.goto(StemX,StemYcoordinates)    t.down()任何帮助将不胜感激
查看完整描述

2 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

我认为对于您的代码,您将需要使用该setpos()方法。

此方法将turtle 中的屏幕视为具有四个象限的坐标平面。

//img1.sycdn.imooc.com//61bc32d40001769b02210217.jpg

使用它,相应地设置 x 和 y 坐标,或者根据需要随机设置。


例如,每次运行时都会将海龟放在随机位置:


from turtle import *

t = Turtle()

t.penup()

from random import randint

x = randint(-200, 200)

y = randint(-200, 200)

t.setpos(x, y)

希望这可以帮助!!!


查看完整回答
反对 回复 2021-12-17
?
千巷猫影

TA贡献1829条经验 获得超7个赞

根据您对问题的描述,您似乎想要以下内容:


from turtle import Screen, Turtle

from random import sample, random


RADIUS = 100

PETALS = 10


def draw_petal(t, radius):

    heading = t.heading()

    t.circle(radius, 60)

    t.left(120)

    t.circle(radius, 60)

    t.setheading(heading)


def draw_flower(t):

    for _ in range(PETALS):

        draw_petal(t, RADIUS)

        t.left(360 / PETALS)


def draw_flowers(t, stemX):

    stemYcoordinates = sorted(sample(range(-200, 0), 9))


    for stemYcoordinate in stemYcoordinates:

        t.setheading(90)

        t.pensize(7 + stemYcoordinate // 40)

        t.color(random(), random(), random())

        t.penup()

        t.goto(stemX, stemYcoordinate)

        t.pendown()

        draw_flower(t)


screen = Screen()


turtle = Turtle(visible=False)

turtle.speed('fastest')  # because I have no patience


draw_flowers(turtle, 0)


screen.exitonclick()

//img1.sycdn.imooc.com//61bc32e9000128cb02850397.jpg

但是,如果这不是您要找的内容,请花时间重新阅读和编辑您的问题以阐明您想要做什么。添加更多(如果不是全部)您迄今为止编写的代码,以明确您需要帮助的内容。


查看完整回答
反对 回复 2021-12-17
  • 2 回答
  • 0 关注
  • 226 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号