python背景颜色怎么随机_Python中的随机颜色
我同意@TigerhawkT3(+1)你教授對pick_color()的實現(xiàn)是垃圾。但我不認(rèn)為random.choice(),或者你教授濫用random.shuffle()的方式是最好的選擇。兩者的問題是,在連續(xù)調(diào)用時可以獲得相同的顏色,這是在正方形內(nèi)繪制正方形時不需要的:>>> import random
>>> COLORS = ['red', 'blue', 'green', 'yellow', 'black', 'pink', 'gold', 'violet', 'orange', 'magenta', 'cyan']
>>> for _ in range(10):
... print(random.choice(COLORS))
...
green
pink
red
black
violet
orange
orange
violet
yellow
yellow
>>>
我仍然會使用random.shuffle(),盡管不是像你的教授那樣,通過跟蹤返回的顏色來確保前一次洗牌的最后一種顏色不是新洗牌的第一種顏色:import turtle
import random
COLORS = ["blue", "black", "brown", "red", "yellow", "green", "orange", "beige", "turquoise", "pink"]
def pick_color(colors=[], previous=[None]): # intentionally dangerous default values
if not colors:
colors.extend(COLORS)
random.shuffle(colors)
if colors[-1] == previous[0]:
colors.insert(0, colors.pop())
previous[0] = colors.pop()
return previous[0]
squares = input("How many squares should I draw (whole numbers): ")
squares_int = int(squares)
length = 400
x = -200
y = 200
turtle.pensize(5)
for i in range(squares_int):
random_color = pick_color()
turtle.fillcolor(random_color)
turtle.penup()
turtle.goto(x, y)
turtle.pendown()
turtle.begin_fill()
for _ in range(4):
turtle.forward(length)
turtle.right(90)
turtle.end_fill()
length -= 30
x, y = x + 15, y - 15
turtle.done()
我相信這比你用相同顏色的相鄰方塊顯示的效果要好:
總結(jié)
以上是生活随笔為你收集整理的python背景颜色怎么随机_Python中的随机颜色的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python办公自动化excel_pyt
- 下一篇: python中哪里用到缩进_建筑防火中各