Bergervei/Python-Die Eulersche Zahl

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Python</language>
== Beispiel 1 ==
Wie oft müssen Zufallszahlen aus dem Intervall [0, 1] gebildet werden, damit die Summe zum ersten Mal 1 überschreitet?
 
=== Simulation ===
<code id="639d9442a5eee">
from random import *
from math import exp

def eulerzufall1(n):
  m = 0
  for i in range(n):
    z = 0; j = 0
    while z < 1:
      z += random()
      j += 1
    m += j
  return m / n

def eulerzahl1(n):
  print("Eulerzahl-Zufall: %1.6f" % eulerzufall1(n))
  print("Zum Vergleich: e = %1.8f" % exp(1))
</code>

<run id="639d9442a5f88">
eulerzahl1(20000)
</run>

== Beispiel 2 ==
Eine Folge von Zahlen wird zufällig aus dem Intervall [0, 1] erzeugt. Der Prozess wird so lange fortgesetzt, wie die Folge monoton steigend ist. Welche Länge der monotonen Folge wird erwartet? 

=== Simulation ===
<code id="639d9442a5f3d">
from random import *
from math import exp

def eulerzufall2(n):
  m = 0
  for i in range(n):
    z0 = 0; z = random()
    j = 1
    while z0 < z:
      z0 = z
      z = random()
      j += 1
    m += j
  return m / n

def eulerzahl2(n):
  print("Eulerzahl: %1.8f" % eulerzufall2(n))
  print("Zum Vergleich: e = %1.8f" % exp(1))
</code>

<run id="639d9442a5fcb">
eulerzahl2(20000)
</run>