Skip to content

Instantly share code, notes, and snippets.

@ATElve
Last active August 29, 2015 14:10
Show Gist options
  • Save ATElve/562700bfe098189f2216 to your computer and use it in GitHub Desktop.
Save ATElve/562700bfe098189f2216 to your computer and use it in GitHub Desktop.
Tobias 1876
Kjetil 1842
Kasper 1872
Sigmund 1831
Sigve 1887
Preben 1860
Trine 1832
Anders 1853
Adrian 1818
Martin 1870
Ingrid 1824
set terminal epslatex size 20cm,8cm color colortext solid standalone
set output "barplot.tex"
set title "20 000 days simulation"
# set auto x
# set yrange [0:]
set style data histogram
# set style histogram
set style fill solid border -1000
set boxwidth 1
set xtic scale 0
unset key
set xtics offset 1,0 border -5,1,5
set ylabel "Number of wins"
# 2, 3, 4, 5 are the indexes of the columns; 'fc' stands for 'fillcolor'
plot 'bardata.txt' u 2:xtic(1) fc rgb "#000000"
import random
import time
import sys
import os
def draw(names,numbers,toolbar_width):
nnames = len(names)
n = [0]*nnames
sys.stdout.write("[%s]" % (" " * toolbar_width))
sys.stdout.flush()
sys.stdout.write("\b" * (toolbar_width+1))
for i in xrange(numbers):
a = random.randint(0,nnames-1)
if i%(numbers/toolbar_width) == 0:
sys.stdout.write('-')
sys.stdout.flush()
n[a]+=1
teller = max(n)
sys.stdout.write("\n")
ind = n.index(teller)
return names[ind],n
def main():
names = ['Tobias ','Kjetil ','Kasper ','Sigmund','Sigve ','Preben ','Trine ','Anders ','Adrian ','Martin ','Ingrid ']
random.shuffle(names)
numbers = 1000000
toolbar_width = 50
tid = time.time()
winner,draws = draw(names,numbers,toolbar_width)
elapsed = time.time()-tid
print '\nVinneren er: %s \n' %winner,
for a,b in zip(names,draws):
print ' %s : \t %d' % (a,b)
print '\nTime: '+str(elapsed)
svar = raw_input('Is winner present and deserve to win? ')
if svar == 'Yes' or svar == 'yes' or svar == 'Y' or svar == 'y':
with open('winners.txt','a') as outfile:
date = str(time.strftime("%d:%m:%Y"))
outfile.write('\n'+date +': \t' + winner)
iitest = 'Todays winner is: '+str(winner)
output = 'say '+str(iitest)
os.system(output)
else:
main()
if __name__ == '__main__':
main()
import random
import time
import sys
import os
def draw(names,numbers,toolbar_width):
nnames = len(names)
n = [0]*nnames
sys.stdout.write("[%s]" % (" " * toolbar_width))
sys.stdout.flush()
sys.stdout.write("\b" * (toolbar_width+1))
for i in xrange(numbers):
a = random.randint(0,nnames-1)
if i%(numbers/toolbar_width) == 0:
sys.stdout.write('-')
sys.stdout.flush()
n[a]+=1
teller = max(n)
sys.stdout.write("\n")
ind = n.index(teller)
return names[ind],n
def main():
names = ['Tobias ','Kjetil ','Kasper ','Sigmund','Sigve ','Preben ','Trine ','Anders ','Adrian ','Martin ','Ingrid ']
random.shuffle(names)
numbers = 10000
toolbar_width = 50
# tid = time.time()
winner,draws = draw(names,numbers,toolbar_width)
# elapsed = time.time()-tid
# print '\nVinneren er: %s \n' %winner,
# for a,b in zip(names,draws):
# print ' %s : \t %d' % (a,b)
# print '\nTime: '+str(elapsed)
# svar = raw_input('Is winner present and deserve to win? ')
# if svar == 'Yes' or svar == 'yes' or svar == 'Y' or svar == 'y':
with open('winnerss.txt','a') as outfile:
date = str(time.strftime("%d:%m:%Y"))
outfile.write('\n'+date +': \t' + winner)
# iitest = 'Todays winner is: '+str(winner)
# output = 'say '+str(iitest)
# os.system(output)
# else:
# main()
if __name__ == '__main__':
for i in range(20000):
main()
os.system('say Elg')
Winners:
01:12:2014: KS
02:12:2014: MB
03:12:2014: TE
import random
import time
import sys
import os
def countNames():
namewritten = ['Tobias','Kjetil','Kasper','Sigmund','Sigve','Preben','Trine','Anders','Adrian','Martin','Ingrid']
names = [0]*11
indexlist = range(len(namewritten))
# print indexlist
with open('winnerss.txt','r+') as infile:
# while infile:
# print infile.readline()
for line in infile:
test = line.strip()
for (navn,index) in zip(namewritten,indexlist):
if test == navn:
# os.system('say match')
names[index] = names[index] + 1
print namewritten
print names
with open('bardata.txt','w') as outfile:
for (name,val) in zip(namewritten,names):
outfile.write(name.strip() + '\t'+ str(val))
outfile.write('\n')
# for val in names:
# outfile.write(str(val) + ', ')
if __name__ == '__main__':
countNames()
os.system('say Elg')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment