Python 使用 Turtle 随机生成颜色
Python Random Color Generation using Turtle
我需要使用 r g b 值生成随机颜色来填充这些矩形以用于 python 学校作业,我收到错误的颜色序列错误,尽管我很确定我正在格式化正如 Python documentation 所建议的那样。
r = random.randrange(0, 257, 10)
g = random.randrange(0, 257, 10)
b = random.randrange(0, 257, 10)
def drawRectangle(t, w, h):
t.setx(random.randrange(-300, 300))
t.sety(random.randrange(-250, 250))
t.color(r, g, b)
t.begin_fill()
for i in range(2):
t.forward(w)
t.right(90)
t.forward(h)
t.right(90)
t.end_fill()
t.penup()
我很困惑为什么 t.color(r, g, b) 没有产生随机颜色?
您的变量 r g 和 b 不是全局变量。您要么必须在函数顶部添加全局声明,要么将它们添加为参数。
def my_function(r, g, b):
# some stuff
或者...
def myfunction():
global r, g, b
# some stuff
turtle.colormode 需要设置为 255 以给出十六进制代码或 R G B 中的颜色字符串。
添加
screen.colormode(255)
不再返回错误。
我需要使用 r g b 值生成随机颜色来填充这些矩形以用于 python 学校作业,我收到错误的颜色序列错误,尽管我很确定我正在格式化正如 Python documentation 所建议的那样。
r = random.randrange(0, 257, 10)
g = random.randrange(0, 257, 10)
b = random.randrange(0, 257, 10)
def drawRectangle(t, w, h):
t.setx(random.randrange(-300, 300))
t.sety(random.randrange(-250, 250))
t.color(r, g, b)
t.begin_fill()
for i in range(2):
t.forward(w)
t.right(90)
t.forward(h)
t.right(90)
t.end_fill()
t.penup()
我很困惑为什么 t.color(r, g, b) 没有产生随机颜色?
您的变量 r g 和 b 不是全局变量。您要么必须在函数顶部添加全局声明,要么将它们添加为参数。
def my_function(r, g, b):
# some stuff
或者...
def myfunction():
global r, g, b
# some stuff
turtle.colormode 需要设置为 255 以给出十六进制代码或 R G B 中的颜色字符串。
添加
screen.colormode(255)
不再返回错误。