我需要让我的python代码随机抽取不同大小的星星。我已经尝试过我所知道的每一种方法,但无法弄明白......仍然试图完全理解循环。
import turtle
import random
for n in range(60):
turtle.penup()
turtle.goto(random.randint(-400, 400), random.randint(-400, 400))
turtle.pendown()
red_amount = random.randint( 0, 100) / 100.0
blue_amount = random.randint(0 , 100) / 100.0
green_amount = random.randint( 0, 100) / 100.0
turtle.pencolor((red_amount, green_amount, blue_amount))
turtle.pensize(random.randint(1, 10))
for i in range(6):
turtle.begin_fill()
turtle.forward(50)
turtle.right(144)
turtle.end_fill()
它目前所做的只是相同尺寸的绘制星星。
答案 0 :(得分:3)
您已经添加了代码来随机化颜色,起始位置和笔宽,但没有可以改变星星的大小。大小由此声明控制:
turtle.forward(50)
但是你不想简单地用随机模块的另一个电话取代50,因为你的星星会不规则地出现。您需要在循环之前计算随机大小,然后在循环中的forward()
调用中使用该大小:
import turtle
import random
for n in range(60):
turtle.penup()
turtle.goto(random.randint(-400, 400), random.randint(-400, 400))
turtle.pendown()
red_amount = random.random()
blue_amount = random.random()
green_amount = random.random()
turtle.color(red_amount, green_amount, blue_amount)
turtle.pensize(random.randint(1, 10))
size = random.randint(25, 100)
turtle.begin_fill()
for i in range(5):
turtle.forward(size)
turtle.right(144)
turtle.end_fill()
turtle.done()
我在访问代码时也对代码进行了一些样式更改。