Süper lig çekilişi ve maçların oynanıp puan durumları

Kodla Büyü
Buyrun hocam.
Kod:
import random
from copy import deepcopy

tkmsozluk = {}
takimlar = ["Fenerbahçe", "Beşiktaş", "Galatasaray", "Trabzonspor", "Başakşehir", "Sivasspor"]
random.shuffle(takimlar)
for i in takimlar:
    tkmsozluk[takimlar.index(i)] = i


tks = len(takimlar)
tkliste = []
eslesmeler = []

# İlk hafta eşleşmesi
if tks % 2 == 0:
    for i in range(0, tks, 2):
        tkliste.append([i, i + 1])
eslesmeler.append(deepcopy(tkliste))

# Diğer haftaları eşleştiriyoruz
i = 0
hafiza = 0
for hs in range(2, tks):
    while i < (tks / 2):
        if (i - 1) != -1:
            tkliste[i - 1][1] = tkliste[i][1]
        else:
            hafiza = tkliste[i][1]
        i += 1
    i = int(tks / 2) - 1
    while i > 0:
        if tkliste[i][0] != 0:
            if (i + 1) != (tks / 2):
                tkliste[i + 1][0] = tkliste[i][0]
            else:
                tkliste[i][1] = tkliste[i][0]
        i -= 1
    tkliste[1][0] = hafiza
    eslesmeler.append(deepcopy(tkliste))

# Ligin 1. Yarısının eşleşmelerini takım sözlüğünden çekiyoruz
for hs in range(1, tks):
    print(str(hs) + ". Hafta Programı")
    print("------------------------")
    for a in range(int(tks / 2)):
        print(tkmsozluk[eslesmeler[hs-1][a][0]] + " & " + tkmsozluk[eslesmeler[hs-1][a][1]])
    print("-------------------")

# Ligin 2. Yarısının eşleşmelerini takım sözlüğünden çekiyoruz
hs = 0
for i in range(tks, (tks*2 - 1)):
    print(str(i) + ". Hafta Programı")
    print("------------------------")
    for a in range(int(tks / 2)):
        print(tkmsozluk[eslesmeler[hs][a][1]] + " & " + tkmsozluk[eslesmeler[hs][a][0]])
    print("-------------------")
    hs += 1
 
Hocam, bu basit proje sadece fikstür oluşturuyor, vbnet ile yazdım kodları sişarp ile henen hemen aynı kodlar. Basit bir for döngüsü ile takım eşleştirmesini forma aktarabilirsiniz (FlowLayoutPanel kullanmanızı öneririm), Puan durumu hesaplayan bir algoritma ile de sonuç girdikçe sıralama yapar
https://drive.google.com/open?id=1eDmPp0Ax-I_3X1iT01P0_JMEi8-rRe7B
 

Ekli dosyalar

  • Picture.png
    Picture.png
    72.5 KB · Görüntüleme: 60
Maclarin rastgele sonuclar verilerek oynanip puan durumlarini hazirlama islemlerini nasil yapabiliriz
 
Maç dağıtım mantığı şöyle
1. hafta

[sabit takim] [dönecek takim 1]
[dönecek takim 2] [dönecek takim 3]
[dönecek takim 4] [dönecek takim 5]

2.hafta
[sabit takim] [dönecek takim 2]
[dönecek takim 3] [dönecek takim 4]
[dönecek takim 5] [dönecek takim 1]

3.hafta
[sabit takim] [dönecek takim 3]
[dönecek takim 4] [dönecek takim 5]
[dönecek takim 1] [dönecek takim 2]

şeklinde haftalar aynı maç oynana kadar devam ederek döndürülür. Anahtar olay ilk takımın sabit olmasıdır. Bu döndürme işlemini döngü ve dizileri kullanarak yapabilirsin. Bu algoritmayı kullanarak hazırladığım web sitesi http://www.sakaryaolgunlarturnuvasi.com/
 
Geri
Üst