"""
Generate a random color in HEX format (#RRGGBB).
This program demonstrates how numbers and bits are used
to produce a valid 24‑bit color value.
"""
import random
def random_color_int():
"""
Create a 24‑bit random integer (0x000000–0xFFFFFF).
random.random() gives a floating‑point number in [0, 1),
so multiplying by 0x1000000 (2**24) gives a range of 24 bits.
"""
# 24 bits → values from 0 to 16,777,215 (0xFFFFFF)
return int(random.random() * 0x1000000)
def int_to_hex_color(value):
"""
Convert a 24‑bit integer into a hex color string.
format(value, "06x") ensures the hex string is always 6 characters.
"""
# Convert number → hex string (e.g., "3fa2c")
hex_str = format(value, "06x")
# Add the leading "#"
return f"#{hex_str}"
def generate_random_hex_color():
"""
Produce a random hex color by combining the two functions.
"""
value = random_color_int() # 24‑bit random number
hex_color = int_to_hex_color(value) # Convert to #RRGGBB
return value, hex_color
# Run the program
value, hex_color = generate_random_hex_color()
print("Random 24‑bit value:", value)
print("Hex color:", hex_color)
"""
run:
Random 24‑bit value: 9225261
Hex color: #8cc42d
"""