How does Python interpret this conditional?
<p>The problem I am working on is explained below:</p>

<blockquote>
  <blockquote>
    <p>2.1) Write a program that asks a user to input a color.
    If the color is black or white, output "The color was black or white". 
    If it starts with a letter that comes after "k" in the alphabet,
    output "The color starts with a letter that comes after "k" in the
    alphabet". (Optional: consider both capitalized and non-capitalized
    words. Note: the order of the alphabet in Unix and Python
    is: symbols, numbers, upper case letters, lower case letters.)</p>
  </blockquote>
</blockquote>

<p>Here is the authors solution:</p>

<pre><code>#!/usr/bin/env python
#
# guess a color
#
answer = raw_input ("Please enter a color: ")

if (answer == "black") or (answer == "white"):
 print "The color was black or white."
elif answer &gt;= "k":
  print "The color starts with a letter that comes after \"k\" in the alphabet."
</code></pre>

<p>This is my answer to the problem:</p>

<pre><code>#!usr/bin/env python
#
#This program asks the user to input a color

color = raw_input("Please, enter a color, any color.")

if (color == "black") or (color == "white"):
 print "The color was black or white."

elif color[0] != "a" or "b" or "c" or "d" or "e" or "f" or "g" or "h" or "i" or "j" or "k":
 print "The color starts with a letter that comes after 'k' in the alphabet."

else:
 print "The color was niether black nor white."
</code></pre>

<p>I am having trouble understanding how the authors solution works, specifically for identifying if, "The color starts with a letter that comes after "k" in the alphabet".</p>

<p>How is does Python make this work?</p>

<pre><code>elif answer &gt;= "k":
</code></pre>

<p>How is Python identifying the first character, such as color[0] and the range of letters beyond k?</p>
