Python Fikstür Uygulaması için yardımcı olabilir misiniz?

Merhaba arkadaşlar python’da böyle bir proje aldım fakat hep kodumda hata alıyorum sanırım algoritmayı yanlış kuruyorum yardımcı olabilecek bir arkadaş var mı acaba ?

  1. Takimlar.txt dosyasında isimleri alt alta yazılmış olan takımlar için bir karşılaşma fikstürü oluşturarak
    Fikstür.txt’ye yazan programı oluşturun.
    • Her takım rakipleri ile hem kendi sahasında hem de deplasmanda karşılaşacaktır.
    • A takımı B takımı ile kendi evinde 5. hafta karşılaştıysa, deplasmanda da 5 + (takımsayısı-1). hafta
    karşılaşmalıdır.
    • Aynı takım arkaya arkaya hep deplasmanda veya hep kendi evinde oynamamalıdır. 1 hafta evinde,
    1 hafta deplasmanda şeklinde olmalıdır.

Sorudaki 1. madde gereksinim midir yoksa senin kurdugun algoritma midir?

Her halukarda aciklik gelmesi gereken seyler var:

Karsilasma fiksturu neye benzer? Bu maddeleri alip “Fikstur.txt” diye kaydetsek yanlis oldugu neye dayanilarak soylenebilir?

Bir takimin rakipleri kimlerdir?

Her takim her diger takimla ilk hafta karsilassin.
takimsayisi - 1 hafta sonra yine her takim her diger takimla karsilassin, ama diger sahada?

4 takımlı bir lig düşünelim.
1 - Galatasaray
2 - Fenerbahçe
3 - Beşiktaş
4 - Trabzonspor

Birinci Hafta

Galatasaray - Beşiktaş
Trabzonspor - Fenerbahçe

İkinci Hafta ilk haftaki deplasman takımlarının ev sahibi oynama zorunluluğu var!

İkinci Hafta

Fenerbahçe - Galatasaray
Beşiktaş - Trabzonspor

Üçüncü Hafta

!!! Trabzonspor evinde oynarsa Galatasaray’ın deplasmanda oynaması gerekecek ancak 2. haftada Galatasaray deplasmanda oynadığı için iki hafta üst üste deplasmanda oynamama kuralı nedeniyle program çıkmaza giriyor.

4 takımlı 3 haftalık senin yazmış olduğun kurallara uyan bir fikstür (kodlayarak değil, elle) yazabilir misin ?

Ben illa ki arka arkaya gelen haftalarda takımların üst üste evinde yada deplasmanda oynayabileceğini düşünüyorum. Yani 2. hafta evinde oynayan takım 3. haftada yine evinde oynayabilir. O kural anlamsız.

O koşulu çıkartırsan daha kolay bir şekilde yazabilirsin.

Yani diyelim fikstür 5. hafta fenerbahçe - galatasaray maçı var ve toplamda 6 takım var ve 5. hafta oynadıklarına göre bir sonraki rövanş takımsayısı - 1 yapıldığında kaçıncı haftaya denk geliyor onu verecek yani deplasman maçı gibi anladınız mı?

[TakımA,TakımB,TakımC,TakımD,TakımE,TakımF] merhaba sanırım mantığı çözdüm diylim ki 6 takım var bu takımların isimleri dışarıdan alınacak ve şöyle eşleşecekler.

  1. TakımA vs Takım C
  2. TakımA vs Takım D
  3. TakımA vs Takım E
  4. TakımA vs Takım F
    bu durumda TakımA ve TakımB 5. hafta eşleşiyor yani. Deplasman maçı için tüm takım sayısı -1 yapıcaz sanırım.
  5. TakımA vs Takım B
    Algoritmayı bunun üstünden kuruyor 5 ilk baçın yapıldığı hafta ve + Takım sayısı - 1 şeklinde yani --> (5+6) - 1 = 10. hafta tekrar karşılacaklar mantık bu. :)
    Tabi diğer takımlar da aralarında eşleşiyor ufaktan kafam karıştı ama az çok mantığı toparladım :S

https://paste.ubuntu.com/p/qwHHVtVVTV/

Bu kodların bulunduğu dizine takimlar.txt adında bir dosya açın ve çift sayıda olması şartıyla takım isimleri yazın. Örneğin;
Galatasaray
Fenerbahçe
Trabzonspor
Beşiktaş
Adanaspor
Rizespor
Tokatspor
Niğdespor
yukarıda yazılan takımları takimlar.txt dosyasının içine yapıştırabilirsiniz.
Ardından kodları çalıştırın ve yine kodların ve takimlar.txt dosyasının bulunduğu dizine fikstür.txt adında bir dosya gelecektir. Bu dosyada 8 takım varsa 14 haftalık fikstür, dediğiniz kurallara göre(iki hafta üst üste kendi evinde veya deplasmanda oynamama şartı haricinde) aşağıdaki şekilde yazacaktır.

Hafta 1
Niğdespor - Fenerbahçe
Galatasaray - Adanaspor
Trabzonspor - Rizespor
Tokatspor - Beşiktaş
Hafta 2
Trabzonspor - Niğdespor
Beşiktaş - Adanaspor
Galatasaray - Rizespor
Fenerbahçe - Tokatspor

gerekli tek modül numpy modülüdür.
Kolay gelsin.

çok teşekkürler ama neden hata alıyorum çözmedim bir bakabilirmisiniz koda :S :slight_smile:

liste3 te neden hata veriyor çözemedim liste3 = list(len(liste1+liste2)) yaptım ama fixtur yanlıs cıkıyor 1. hafta mesela fb her takımla eşleşiyor mantık hatası mı yaptım :S

Tanımlanmamış çünkü.

1 Beğeni

Tekrardan selamlar,
Ekrem beyin dediği gibi liste3’ü tanımlamamışım. Denemeler yaparken sadece console üzerinde tanımladığım için bende sorun çıkartmadı. Şimdi kodların içerisine liste3’ü tanımladım. Şuan çalıştırdığımda sorunsuz çalışıyor. Kodların bağlantı adresini aşağıda paylaşıyorum.

https://paste.ubuntu.com/p/9cHJNDV34j/

Bu kodları dener misiniz ?
Kolay gelsin.

1 Beğeni

Çalıştı teşekkürler :slight_smile: