【发布时间】:2017-04-16 12:37:01
【问题描述】:
大家好,在我的蛇游戏程序中,当用户选择“彩虹”主题时,我需要多次生成随机颜色。上网查了一下,发现是这样的:
Generating a Random Hex Color in Python
得票最多的答案给出了解决方案
import random
r = lambda: random.randint(0,255)
print('#%02X%02X%02X' % (r(),r(),r()))
不过,这个程序也会产生非常暗淡的颜色;例如深棕色,有时甚至是黑色。如您所见,其中一些颜色与彩虹主题不匹配。
您将如何更改上述代码以获得鲜艳的颜色,例如亮橙色、粉红色、红色、蓝色等,您明白了。一个假设的解决方案是增加 randint r 的最小值,但这只会使所有颜色都变得非常白。 :'(
请,请,请,我们将非常感谢您的帮助。
谢谢大家!
【问题讨论】:
-
random.randint(128,255)会让它保持光明的一面。 -
另一件事是当十六进制的三个部分相似时(如 #000000 或 #ececec 你会得到灰度颜色,所以要避免这些。
-
您可以在 HSV 中生成具有高饱和度的颜色,然后将它们转换为 RGB。标准库中甚至还有一个
colorsys模块来进行转换:docs.python.org/3.6/library/colorsys.html
标签: python