我正试着复制这样的效果
import graphics
from graphics import color_rgb
import random
window= graphics.GraphWin("x", 600, 400)
stripes = input("How many stripes should be on the flag")
stripes = int(stripes)
count = 0
count = int(count)
P1=graphics.Point(0,0) #left corner - anchor point
for x in range(stripes): #loop for number of stripes
col= random.randint(1,255)
stepdim = 400/stripes #size of divisions
stepdim = int(stepdim)
shrink = count*stepdim
shrink = int(shrink)
stepdim = stepdim*10 #enlarge to an increment below the last
stepdim = stepdim-shrink
stepdim = int(stepdim)
P2=graphics.Point(600,stepdim) #bottom right corner - ever shrinking
outsiderec=graphics.Rectangle(P1,P2) #
outsiderec.setFill(color_rgb(100, col, 0))
outsiderec.draw(window)
count= count + 1
count= int(count)
window.getMouse()
window.close()
我收到的是一个平面颜色。 我假设问题在我的rand(int)中。我真的不知道事情的来龙去脉。它不是不止运行一次吗
以您的代码为基础,我试图重现预期的结果
我有:
stepdim = 400/stripes
从循环内部移到外部,因为不需要为每个循环计算相同的值P1=graphics.Point(0,0)
移动到循环中,稍微修改一下,只指向条带的左上角P2=graphics.Point(600,stepdim)
以指向条带的右下角red = random.randint(1, 255)
、green = random.randint(1, 255)
和blue = random.randint(1, 255)
观察结果:
我把条纹的画法改了一点。不是为每个循环绘制缩小的版本,修改的版本只是在连续位置绘制固定大小的条带
相关问题 更多 >
编程相关推荐