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 など