title: Python expected an indented block
body: <p>I am a newbie to Python and would like to genereate some numbers according to geometric distribution. i found this code on Internet but isn´t work:</p>
  
  <pre><code>  import random
  from math import ceil, log
  
  def geometric(p):
  
  # p should be in (0.0, 1.0].
  if ((p &lt;= 0.0) or (p &gt;=1.0)):
  raise ValueError("p must be in the interval (0.0, 1.0]")
  elif p == 1.0:
  # If p is exactly 1.0, then the only possible generated value is 1.
  # Recognizing this case early means that we can avoid a log(0.0) later.
  # The exact floating point comparison should be fine. log(eps) works just
  # dandy.
  return 1
  
  # random() returns a number in [0, 1). The log() function does not
  # like 0.
  U = 1.0 - random.random()
  
  # Find the corresponding geometric variate by inverting the uniform variate.
  G = int(ceil(log(U) / log(1.0 - p)))
  return G
  
  p=1.0/2.0
  for i in range(10):
  print geometric(p)
  </code></pre>
  
  <p>When I try to run it tells me the following error:</p>
  
  <pre><code>    File "test.py", line 8
      if (p &lt;= 0.0) or (p &gt;=1.0):
       ^
  IndentationError: expected an indented block
  </code></pre>
  
  <p>What is the error and how I can fix it?</p>