# Expected an indent block error

#1

``````I keep getting indention errors in the while loop with the break. I checked out the existing thread on this issue, but the solution offered did not help me. Thank you!

def rgb_hex():
invalid_msg = "Sorry, an error occured! Please check your input."
red = int(raw_input("Enter red (R) value: "))
if (red < 0 or red > 255):
print invalid_msg
return
green = int(raw_input("Enter green (G) value: "))
if (green < 0 or green > 255):
print invalid_msg
return
blue = int(raw_input("Enter blue (B) 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("Enter the color (six hexadecimal digits): ")
if len(hex_val) != 6:
print "Invalid hexidecimal value. Try again."
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("Enter 1 to convert RGB to HEX. Enter 2 to convert HEX to RGB. Enter X to Exit: ")

if option == '1':
print "RGB to Hex..."
rgb_hex()
elif option == '2':
print "Hex to RGB..."
hex_rgb()
elif option == 'X' or option == 'x':
break
else:
print "An error occured. Please check your input."

convert()``````

#3

Hi @ryanbr ,

Check the indentation throughout your program.

Most of the improper indentation is within the `convert` function, where statements that should be within `if`, `elif`, and `else` blocks are not indented in comparison to the block headers.

Earlier within the program there are other statements that should be part of the `rgb_hex` function that need similar attention, such as these ...

``````val = (red << 16) + (green << 8) + blue
print "%s" % (hex(val)[2:]).upper()``````

It appears that at the beginning of the program you have chosen to use two spaces for each level of indentation. However, in other places later on, you have used tabs for indentation. Instead, choose a single technique, and use it consistently throughout the program.

#4

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.