ich würde gerne von Euch weitere Vorschläge haben, um eine Würfelsimulation zu programmieren.
Folgendes soll umgesetzt werden:
- Zahl zwischen 1 und 6 zufällig erzeugen
- aufrechnen, wie oft welche Zahl "gewürfelt" wurde
- Ausgabe: Zahl, Anzahl der Würfe
Um hier auch zu zeigen, welche Methode am Schnellsten ist, bitte als Grundgesamtheit 1e7 ansetzen und kein psyco benutzen.
Folgende Schnipsel habe ich schon:
Code: Alles auswählen
import random
import time
from collections import defaultdict
count = int(1e6)
dic = {}
start = time.time()
for _ in xrange(count):
digit = random.randint(1, 6)
if dic.has_key(digit):
dic[digit] +=1
else:
dic[digit] = 1
## print '*',
end = time.time()
print 'Dauer: %s sec' % (str(end - start),)
for k,v in dic.iteritems():
print 'Zahl: %d\tAnzahl: %d' % (k, v)
print '*' * 80
dic = {}
start = time.time()
for _ in xrange(count):
digit = random.randint(1, 6)
try:
dic[digit] += 1
except KeyError:
dic[digit] = 1
end = time.time()
print 'Dauer: %s sec' % (str(end - start),)
print '*' * 80
dic = defaultdict(int)
start = time.time()
for _ in xrange(count):
## digit = random.randrange(1, 7)
digit = random.randint(1, 6)
dic[digit] += 1
end = time.time()
print 'Dauer: %s sec' % (str(end - start),)
for k,v in dic.iteritems():
print 'Zahl: %d\tAnzahl: %d' % (k, v)
Andreas