随机生成html色值字符串

182 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划· 10月更文挑战」的第2天,点击查看活动详情



Python字符串
随机生成html色值字符串
(random模块的choice、shuffle方法应用)



  HTML色值由rgb(红绿蓝)三色“混”成,每个颜色描述数值为0~255数值,用十六进制字符表示,刚好两位字符。完整的一个HTML色值字符就是六个十六进制数表示字符在前缀“#”符号。
  由此,我罗列十六进制数表示字符“0-9”“a-f”十六个字符。每次打乱“随机”出来一个字符,重复执行六次,把六个随机选择的十六进制字符与“#”前缀拼接,就成就一个HTML随机色值字符串。
  我封装在一个函数,内存按规则生成一个HTML色值字符串返回。生成多个色值字符串,多次调用函数就好😄。也可以上解析式,一行代码获取要想的个数随机HTML色值字符串。💪💪

代码

def random_color_html():
    ''' 生成HTML5随机色值。'''
    from random import choice, shuffle # 加载random模块的choice、shuffle随机单选方法和“洗牌”方法。
    
    colors_hex = list(range(10)) + list('ABCDEF') # 数字0~9,字母a~f。十六进制HTML色值字符串表示字符列表。
    colors = [] # html随机色值字符串初值。

    for color in range(6): # 遍历rgb生成红绿蓝三色十六进制字符(每色两位十六进制字符)。
        shuffle(colors_hex) # 打乱十六进制数表示字符串列表。
        colors.append(f"{choice(colors_hex)}") # 列表收集随机选取颜色字符。
        # 由于每次随机选择前使用了“洗牌”方法打乱,以便更“随机”。我不可以用列解析。

    return f"#{''.join(colors)}" # 字符化生成的三色十六进制字符。


if __name__ == '__main__':
    print(', '.join([random_color_html() for i in range(66)])) # 打印六十六个HTML5随机色值。range()参数改变,可以得到想要数量的色值。



input(f"\n\n{' Wait a moment... '.center(50, '~')}") 

输出:随机66个html色值字符串。

#C3BD26, #6A35EA, #2E4A5B, #BA109B, #6E7D76, #EBDD56, #4BFC3B, #63C606, #8DAE2F, #486F05, #066F69, #3F8BC7, #A947CB, #7AF322, #3DF794, #787010, #9322DF, #7DFD73, #7224E7, #FC6B2F, #3AEB0E, #427BC6, #6338F1, #7D7019, #C06412, #413903, #AB46D9, #38C374, #13AB3C, #CFCA82, #48220B, #E4FDFB, #3E7688, #6EA84A, #35D569, #577FBD, #F5A827, #D81ED9, #6CCE2D, #2DF354, #17DC41, #C5A5F4, #A2B255, #78AB19, #7A538F, #76FE48, #52158F, #07C77A, #0AF4F8, #CF296E, #ECF7C2, #1DEE5E, #DC7F95, #E84314, #45F782, #F6E5B4, #D7CB47, #EA43E3, #6BB71F, #FDE4C0, #514B85, #D51CE3, #014FFE, #04A9F2, #2DC961, #EA2EE4