在 python 中的海龟中使用列表
Posted
技术标签:
【中文标题】在 python 中的海龟中使用列表【英文标题】:using list in turtle in python 【发布时间】:2018-09-14 03:22:30 【问题描述】:下面这行我没看懂-
'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(colors)) 代替 i = random.randint(0, len(colors)-1) ??
提前谢谢...
【问题讨论】:
您的意思是 len(colors)-1 吗?认为 len(colors-1) 有废话 我建议您阅读手册。它是一个范围内的随机值。 你写的代码不正确(-1
应该像random.randint(0, len(colors)-1)
这样在最里面的括号之外),无论如何在 Python 中都有更简单的方法(@ 987654324@),无论如何,SO 是为了询问如何修复自己的代码,而不是为了理解别人的代码。
len(colors-1)
会给你这个错误:TypeError: unsupported operand type(s) for -: 'list' and 'int'
。
【参考方案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.
【讨论】:
【参考方案2】:应该是:
i = random.randint(0, len(colors)-1)
它选择随机颜色 btwn 0 和颜色数组的长度 -1(保持在其边界内)。
【讨论】:
【参考方案3】:改变并尝试这个,
i = random.randint(0, len(colors)-1)
【讨论】:
以上是关于在 python 中的海龟中使用列表的主要内容,如果未能解决你的问题,请参考以下文章