Bundesligatipprunde Saison 2015/2016

Da hofft man 1x auf die Schalker ... denkt sich Aktiv- und Kreativposten KdB sitzt auf der Tribüne, genau so wie Perisic ... und was ist? Argh. An etwaigen Schilderdruckgeschichten o.Ä. werde ich mich nicht beteiligen, aber ich werfe gerne 3 Stapel Sticker (100/75/50) für die erstplatzierten raus, sofern sie halt damit einverstanden sind mir ihre Adresse zuzuschicken (gerne auch die von Oma, Tante oder Hund) :T
 
  • Thread Starter Thread Starter
  • #43
Habs spiel nicht gesehen, werds morgen in der Zusammenfassung Sportschau gucken, aber ich tippte nen Unendschieden, Bullshit. Ich dachte durch den "Ausfall" De Bruyne sind die VWler geschwächt, falsch gedacht. Und Schalke hatte ich mehr zugetraut. Muss noch arbeiten um meinen letztjährigen 3ten Platz zu bestätigen :)
 
Der Pokal sieht aber hässlich aus :) Würde mich im Zweifel dran beteiligen, aber selber haben würde ich den Pokal nicht wollen. Wenn ich also in der Top 3 landen sollte, behaltet den Pokal. Aber dies wird sowieso nicht passieren :)

Mein Gegenvorschlag wäre eher ein 10€ Amazon Gutschein für den Sieger. Kann dann auch an Fakemails verschickt werden ;)
 
Ehm ja ... irgendwie ...

TheOnly1 schäm dich! :D
 
Ich war gerade kurz erschrocken und dachte, ich hab vergessen zu tippen, was ja aber nicht schlimm gewesen wäre, weil wir bei BMG-HSV ja alle falsch lagen, aber ich hab nur die Darstellung nicht richtig verstanden.

Nochmal Glück gehabt.
 
Erinnerung, auch für das Spiel danach weil Englische Woche
 
Ahoi,

ich wollte euch mal ein kleines Projekt vorstellen, dass ich heute fertig gestellt habe.
Meine Motivation war, dass ich mich öfter gefragt habe wie die Tabelle aussähe, wenn meine Tipps richtig gewesen wären. Also hatte ich einen guten Grund mal wieder zu programmieren.

Das Ergebnis:
Ich habe für jeden Mitspieler eine eigene Tabelle erstellt. Die Tabellen sind momentan noch eher unschönes HTML und ich bin mir nicht sicher, ob ich noch Zeit in die Darstellung investiere. Zu finden ist die Seite ( ). Wenn jemand nicht getippt hat wird das echte Ergebnis übernommen.
Wenn ich immer dran denke wird die Seite nach jedem Spieltag aktualisiert.
Ich habe mehrere Stichproben gemacht und keine Fehler gefunden, also gehe ich mal davon aus, dass das alles richtig ist.

Der Code:
Geschrieben ist es in Python 3 (mit numpy). Es ist teilweise vielleicht etwas wirr, da es mein erstes Programm in Python3 ist. Außerdem scheine ich unglaublich gerne deutsche und englische Variablen gleichzeitig zu nutzen.
[src=python]
import numpy

def create_table(mm):
unsorted = numpy.zeros( (len(mm), 5), dtype=numpy.int)
unsorted[:,0] = numpy.transpose(range(0,len(mm)))
for k in range(0, len(mm)):
for i, val in enumerate( mm[k,:] ):
if val[0] >= 0:
unsorted[k,2] += val[0]
unsorted[k,3] += val[1]
unsorted[i,2] += val[1]
unsorted[i,3] += val[0]
if val[0] > val[1]:
unsorted[k,1] += 3
elif val[0]==val[1]:
unsorted[k,1] += 1
unsorted[i,1] += 1
elif val[0] < val[1]:
unsorted[i,1] += 3

unsorted[:,4]=numpy.transpose(unsorted[:,2]-unsorted[:,3])

ind = numpy.lexsort((unsorted[:,2],unsorted[:,4],unsorted[:,1]))
table = numpy.flipud(unsorted[ind])

return table

def pretty_table(tabelle,vereine):
out = 'Verein\tT:GT\tDif\tPkt\n'
for idx, row in enumerate(tabelle):
out += str(idx+1) + '.\t' + list(vereine.values())[row[0]] + '\t' + str(row[2]) + ':' + str(row[3]) + '\t' + str(row[4]) + '\t' + str(row[1]) + '\n'
return out

def pretty_table_html(tabelle,vereine):
out = '<table width="100%" align="left">\n'
out += '<tr><th></th><th align="center">Verein</th><th align="center">T:GT</th><th align="center">Diff</th><th align="center">Pkt</th></tr>\n'
for idx, row in enumerate(tabelle):
out += '<tr><td align="right">' + str(idx+1) + '.</td><td>' + list(vereine.values())[row[0]] + '</td><td align="center">' + str(row[2]) + ':' + str(row[3]) + '</td><td align="center">' + str(row[4]) + '</td><td align="center">' + str(row[1]) + '</td></tr>\n'

out += '</table>'
return out

spieltage = 5;

# liste der vereine
vereine = {'FCB': 'FC Bayern München',
'Lev': 'Bayer 04 Leverkusen',
'Main': 'FSV Mainz 05',
'Da98': 'SV Darmstadt 98',
'FCA': 'FC Augsburg',
'SVW': 'SV Werder Bremen',
'BVB': 'Borussia Dortmund',
'Wolf': 'VfL Wolfsburg',
'Stgt': 'VfB Stuttgart',
'HSV': 'Hamburger SV',
'Hoff': '1899 Hoffenheim',
'Ing': 'FC Ingolstadt',
'H96': 'Hannover 96',
'Herth': 'Hertha BSC Berlin',
'S04': 'FC Schalke 04',
'BMG': 'Bor. Mönchengladbach',
'SGE': 'Eintracht Frankfurt',
'Köln': '1. FC Köln' }

nrv = len( vereine )
matchmatrix = numpy.empty( ( nrv, nrv, 2 ), dtype=numpy.int )
matchmatrix.fill(-1)

mitspieler = ['Fhynn',
'Hezu',
'Nowhere_Man',
'enteo',
'FrostAgent',
'matux',
'MingsPing',
'Laui',
'Losty',
'TheOnly1',
'usernametaken',
'Ruper',
'Seon',
'CrossFir3',
'Schunkelaugust',
'weristes',
'Buschfunk',
'kraeuterdude',
'P3rsona' ]

mmlist = [numpy.copy(matchmatrix) for i in range(0,len(mitspieler))]


for k in range(1, spieltage+1):
with open( str( k ), 'r') as f:
content = f.read().splitlines()
matchday = numpy.empty( ( nrv/2, 2 ), dtype=numpy.int )
# begegnungen/vereine einlesen
for i in range(3,12): matchday[i-3, 0] = list(vereine.keys()).index(content[0].split('\t'));
for i in range(0,9): matchday[i, 1] = list(vereine.keys()).index(content[10].split('\t'));
# echte ergebnisse eintragen
for i in range(0,9): matchmatrix[ matchday[i,0], matchday[i,1] ] = numpy.asarray(content[i+1].split(':'), dtype=numpy.int);

# ergebnisse der einzelnen mitspieler
for i in range(11,len(mitspieler)+11):
erg = content.split('\t')
# punktzahlen entfernen (seit 1984 gab es keine zweistellige anzahl von toren für ein team)
for key, val in enumerate(erg[3:12]):
if len(val) > 3: erg[key+3] = val[:-1]

for i in range(0,9):
if len(erg[i+3]) > 0:
mmlist[mitspieler.index(erg[2])][ matchday[i,0], matchday[i,1] ] = numpy.asarray(erg[i+3].split(':'), dtype=numpy.int);
else:
mmlist[mitspieler.index(erg[2])][ matchday[i,0], matchday[i,1] ] = matchmatrix[ matchday[i,0], matchday[i,1] ]

with open( 'tables/Tabelle', 'w' ) as f:
f.write( pretty_table( create_table(matchmatrix), vereine ) )

html = '<!DOCTYPE html>\n<html>\n<head>\n<LINK href="style.css" rel="stylesheet" type="text/css">\n</head>\n<body>\n'
for key, val in enumerate(mitspieler):
#with open( 'tables/' + val, 'w' ) as f:
# f.write( pretty_table( create_table(mmlist[key]), vereine ) )
html += '<div id="tab"><h3>' + val + '</h3>\n' + pretty_table_html( create_table(mmlist[key]), vereine ) + '</div>'

html += '</body>'

with open( 'tables/index.html', 'w' ) as f:
f.write( html )

[/src]

Wenn man es selber ausführen will: Auf jeden Fall die Pfadangaben anpassen!
Die Ordnerstruktur sieht wie folgt aus:



Die Textdateien sind nach den Spieltagen benannt und die Tabelle in kicktipp unter dem Punkt Livepunkte kopiert und eingefügt:


In der Datei sieht das dann so aus (Die Tabs sind wichtig, da sie abgezählt sind in dem Programm. Es ist wichtig auch die Tabellenzelle oben links zu kopieren.):



Ich hoffe manche von euch finden es auch interessant mal zu sehen, wie eure Bundesliga ausgehen würde :)
Wenn ihr noch Ideen habt, dann sagt Bescheid.

MfG, CrossFir3
 
Könnte ich mit Leben! Also mit der Tabelle
ugly1auqo.gif
 
Wundert mich gar nicht, dass bei enteo und mir Schalke jeweils 15 Punkte hätte :D

Bei Busch wäre Schalke auf 15 mit 3 Punkten :o

Btw. denkt ans Tippen (u.a. enteo)
 
Ahoi,

ich wollte euch mal ein kleines Projekt vorstellen, dass ich heute fertig gestellt habe.
Meine Motivation war, dass ich mich öfter gefragt habe wie die Tabelle aussähe, wenn meine Tipps richtig gewesen wären. Also hatte ich einen guten Grund mal wieder zu programmieren.

Wieso einfach machen, wenn es auch schwer geht? :-D

In Kicktipp kannst du doch die Tabellen anschauen, wie die nach deinen Tipps gewesen wäre. Tippübersicht -> Klick auf Spierernamen -> Statistik -> Reiter Tipptabellen

Nichtsdestotrotz ist es in meinen Augen gut programmiert.
 
Zurück
Oben