def rgb_hex():
invalid_msg = "Something went wrong. Check your response."
red = int(raw_input("What is the RED value? "))
if ((red < 0) or (red > 255)):
print invalid_msg
return
green = int(raw_input("What is the GREEN value? "))
if ((green < 0) or (green > 255)):
print invalid_msg
return
blue = int(raw_input("What is the BLUE value? "))
if ((blue < 0) or (blue > 255)):
print invalid_msg
return
val = (red << 16) + (green << 8) + (blue)
print "%s" % (hex(val)[2:]).upper()
def hex_rgb():
hex_val = raw_input("What is the HEX value? ")
if len(hex_val) != 6:
print "The value enter is either too long or too short."
return
else:
hex_val = int(hex_val, 16)
two_hex_digits = 2**8
blue = hex_val % two_hex_digits
hex_val = (hex_val >> 8)
green = hex_val % two_hex_digits
hex_val = (hex_val >> 8)
red = hex_val % two_hex_digits
print "Red: %s Green: %s Blue %s" % (red, green, blue)
def convert():
while True:
option = raw_input("Choose a number: \n1 for RGB to HEX \n2 for HEX to RGB \n3 to quit\n: ")
if option == "1":
print "RGB to HEX"
rgb_hex()
elif option == "2":
print "Hex to RGB"
hex_rgb()
elif option == "3":
break
else:
print "ERROR"
convert()