在python中使用列表

在python中使用列表,python,list,colors,Python,List,Colors,我听不懂台词- “i=random.randint(0,len(colors)-1)”(突出显示为 在以下代码中: import turtle import random colors = ["red","green","blue","yellow","orange","black","purple","gray","maroon"] turtle.penup() for i in range(200): x = random.randint(-100,100) y =

我听不懂台词-

“i=random.randint(0,len(colors)-1)”(突出显示为 在以下代码中:

import  turtle
import random


colors = 
["red","green","blue","yellow","orange","black","purple","gray","maroon"]
turtle.penup()

for i in range(200):
    x = random.randint(-100,100)
    y = random.randint(-100,100)

    #set a random position
    turtle.setpos(x,y)

    #set a random color
    ############
    i = random.randint(0, len(colors)-1) 
    ############
    turtle.dot(colors[i])
此外,如果我写信有什么问题 i=random.randint(0,len(颜色)) 而不是 i=random.randint(0,len(颜色)-1) ?

提前感谢…

更改并尝试此功能

i = random.randint(0, len(colors)-1)
应该是:

i = random.randint(0, len(colors)-1)
它选择一个随机颜色btwn 0和颜色数组的长度-1(保持在其边界中)。

而不是:

i = random.randint(0, len(colors)-1) 
turtle.dot(colors[i])
随机使用
choice()
函数:

turtle.dot(random.choice(colors))
这避免了出现原始错误的机会,因为不涉及指示或数学:

>>> import random
>>> help(random.choice)
Help on method choice in module random:

choice(seq) method of random.Random instance
    Choose a random element from a non-empty sequence.

你是说蓝(颜色)-1吗?如果你认为len(colors-1)没有感觉,我建议你阅读手册。它是一个范围内的随机值拾取。编写的代码是不正确的(像这样,
-1
应该在最里面的括号外
random.randint(0,len(colors)-1)
),在Python中有一种简单得多的方法来实现它(
random.choice(colors)
),不管怎样,询问如何修复自己的代码也是如此,而不是为了理解其他人的代码。
len(colors-1)
会给你这个错误:
TypeError:不支持的操作数类型-:'list'和'int'