问题描述
在此程序中,我需要一个较大的可移动圆和许多彩色的较小圆。但是,当我运行程序时,所有较小的圆圈都是相同的颜色,因此我无法弄清楚如何随机地给每个圆圈赋予不同的颜色。我该如何解决?
## reading data as df0 to preserve it for both solutions
read.table(text="Sample_Date Site_Code Arsenic Barium Boron Antimony
. . ug/L ug/L ug/L ug/L
. . TM66TW TM66TW TM66TW TM66FW
21/07/2016 1 0.7 88.6 24 <0.3
21/07/2016 A 0.7 110 19 <0.3
15/09/2016 1 0.5 67 32 <0.3
15/09/2016 A 0.4 96.5 22 <0.3
15/09/2016 2 0.6 122 26 <0.3",header= T) -> df0
解决方法
在主循环中,您使用的是i
,它永远不变。在循环浏览位置集合时,使用枚举返回索引。
尝试以下代码:
for i,locate in enumerate(locations):
pg.draw.circle(screen,(small_color[i]),locate,5)
,
确保在第一行导入random
库:
import random as rd
这是一个简单的函数,它会产生随机的颜色:
def random_color():
r = rd.randint(0,255)
g = rd.randint(0,255)
b = rd.randint(0,255)
return (r,g,b)
因此您也可以在需要时调用它:
color = random_color()
draw.circle(screen,color,(x,y),SIZE)
Github存储库
我在GitHub上做了一个仓库,做了一些修改, 点是彩色的,新的点会变成随机的颜色,吃点时球会变大。