Fikstür ödevi sorunu

Katılım
5 Haziran 2016
Mesajlar
1.046
Çözümler
4
Yer
İstanbul
Daha fazla  
Cinsiyet
Erkek
Benim bir fikstür ödevim var. 18 tane takım belirledim ve bunlar kendi aralarında maç yapacak fakat 1 hafta evinde oynayan diğer hafta deplasmanda oynayacak. Ben bu şartı ne yaptıysam sağlayamadım. Hatta 3 4 hafta bile üst üste kendi evinde oynayan da oldu bunu nasıl çözerim? İsterseniz ödevi incelemeniz için yollayabilirim.
 
Trakya Üniversitesi olabilir mi?
Hatta direkt bu ödev, değil mi?
Bu olmasa bile gayet işine yarayacak bir algoritma. Bir beğenini alırım artık 😄

a351eb16-096a-4081-86c3-03648e049829.jpg

Böyle ise Python kodu paylaşacağım. Aynı algoritma ile istediğin dilde yazabilirsin ama bu ödevi tekrar yapmak ile uğraşamam. Zamanında arkadaşıma verilmişti. İnternette güzel fikstür nasıl yapılır Türkçe ve İngilizce hiçbir düzgün kaynak bulamamıştım. Fransızca bir kaynak biraz yardımcı olmuştu.
Attığım görseldeki son madde imkansız. En azından tüm takımlar için. Şöyle düşün, A ve B takımımız var. İlk hafta ikisi de evinde birileriyle oynadılar. Kimle oynadıkları önemli değil. İkinci hafta deplasman, üçüncü hafta ev... Eninde sonunda A ve B takımı maç yapmalı. Bu maç birinin evinde diğerinin deplasmanında yapılmalı. Ama ikisi de önceki hafta ya evinde ya da deplasmanında oynamıştı. Burada çakışıyorlar.

Her neyse, kod bu. Hiç kusura bakma bu işkenceyi tekrar çekemem. Zaten olay algoritmasını bulmaktaydı kodu yazmak çok zaman almadı. Python'a da hakim değilim. Kod çok daha güzel şekilde yazılabilir. En basitinden sep= yerine sanırım + ile ayırsam o boşluk zaten başta oluşmuyor. Ondan bile şu an emin değilim. Python yakın zamanda işime yaramayacağı için öğrenmekle vakit kaybetmek istemiyorum.

Python:
f=open("takimlar.txt","r")
a=list(f.readlines())
for i in range(18):
    a[i]=a[i].strip("\n")
b=17
for i in range(1,18):
    print("\n", (2*i-1),". Hafta", sep="")
    for j in range(1,10):
        print(a[j-1],a[-j], sep="-")
    a.insert(1,a[-1]),a.pop()
    b-=1
    if b<1:
        b=17
    print("\n", 2*i, ". Hafta", sep="")
    for j in range(1,10):
        print(a[-j],a[j-1], sep="-")
    a.insert(1,a[-1]),a.pop()
    b-=1
 
Son düzenleme:
Benim sorunum üst üste deplasmanda veya evinde oynayan takımlar oluşmasıydı.
Ben de ilk yapamamıştım. Futbolla ilgili kişilere sorunca arada takımlar üst üste aynı yerde oynuyor demişlerdi. Bunu duyunca lig kurasına bakıp gerçekten öyle bir şeyin mümkün olmadığını gördüm. 1-2 takım için olabilse de hepsi için olamıyor. Keşke daha önceden konu açsaydınız.
 
Ben de ilk yapamamıştım. Futbolla ilgili kişilere sorunca arada takımlar üst üste aynı yerde oynuyor demişlerdi. Bunu duyunca lig kurasına bakıp gerçekten öyle bir şeyin mümkün olmadığını gördüm. 1-2 takım için olabilse de hepsi için olamıyor. Keşke daha önceden konu açsaydınız.
Yaptığım hatayı sonradan fark ettim. Yine de ilginden dolayı teşekkür ediyorum.
 
Uyarı! Bu konu 6 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Geri
Yukarı