Python を使って CSS に使うような 16 階調の RGB カラーをランダムに生成する方法をご紹介します。
ランダム化の部分には組み込みの random ライブラリ、 16 進数にする部分には format の書式指定を使う方法がシンプルでやりやすいかと思います。以下のコードは Stack Overflow で紹介されていた方法を少し改変したものです。
import random
# 一度きりならこの方法で
rc = lambda: random.randint(0, 255)
print('#{:x}{:x}{:x}'.format(rc(), rc(), rc())) # => #bd9f7b など(英字は小文字)
print('#{:X}{:X}{:X}'.format(rc(), rc(), rc())) # => #BD9F7B など(英字は大文字)
# 何度も色を生成したいなら関数化
def generate_random_color():
return '#{:X}{:X}{:X}'.format(*[random.randint(0, 255) for _ in range(3)])
generate_random_color() # => #EF2F5B など
Python2 であれば Stack Overflow に紹介されたいたように str 型の % 演算子を使ってもよいのですが、 2015 年現在であれば Python3 互換の format() メソッドを使う方法がおすすめです。