Mini SuperLoto uygulamasında Oynanan Kolon Sayısı Nasıl Arttırılabilir

Merhaba Herkese sağlıklı günler dilerim. İzlediğim videolerdan Öğrendiğim kadarıyla mini superloto uygulaması yaptım. Fakat sadece 1 kolon oynatabiliyor ve sonucu alabiliyorum. Bu oynanacak kolon sayısını kullanıcıdan inputla alarak örnek olarak kullanıcı 6 kolon oynamak istedi bu doldurulacak 6 kolonu ayrı ayrı setlere atamanın . Yada bu sonucu almanın yolu nedir. Yardımlarınız için teşekkür ederim.
Screenshot_1

import random
tahminler = set()
sayac = 1

while True:
 
    if sayac > 6 :
        break
    else:
        tahmin = int(input(f"{sayac}. Tahmininizi Giriniz : "))
        sayac += 1
        tahminler.add(tahmin)

print("Tahminlerim : ", tahminler)
print("---------------------------")
cekilis_sonucu = set()

def cekilis_yap():
    while len(cekilis_sonucu) < 6:
        number = random.randint(1,46)
        if number in cekilis_sonucu:
            continue
        else:
            cekilis_sonucu.add(number)
            
    print("Cekiliş Sonucu : ",cekilis_sonucu)

    if len(tahminler.intersection(cekilis_sonucu)) == 0:
        print("Üzgünüz Çok şanssızsınız")
    elif len(tahminler.intersection(cekilis_sonucu)) == 1:
        print("1 sayı tutturdunuz. ")
    elif len(tahminler.intersection(cekilis_sonucu)) == 2:
        print("2 sayı tutturdunuz. 25.000 tl kazandınız")
    elif len(tahminler.intersection(cekilis_sonucu)) == 3:
        print("3 sayı tutturdunuz. 50.000 tl kazandınız")
    elif len(tahminler.intersection(cekilis_sonucu)) == 4:
        print("4 sayı tutturdunuz. 100.000 tl kazandınız")
    elif len(tahminler.intersection(cekilis_sonucu)) == 5:
        print("5 sayı tutturdunuz. 250.000 tl kazandınız")
    else:
        print("Tebrikler Büyük ikramiyeyi kazandınız ")
      
cekilis_yap()

kolon adedini giriyorum fakat sonuçları tek bir küme değişkenine atabiliyorum. Her kolon sonucunu ayrı bir değişkene otomatik atmam lazım ama bu yapılabilir mi bilmiyorum.

Küme içinde küme tanımlayamadığın için olmuyor küme yerine listeleri kullansan çok rahatlıkla yaparsın.
mesela ;

tahmin_listesi=[]
kupon sayısı=int(input("Kupon sayısı"))
for i in kupon_sayısı:
      tahmin_listesi.append([])

Bu şekilde diyelim 5 kupon girecek adam elinde [[],[],[],[],[]] şöyle bir liste oluşur…
Sonra istersen;


for i in range(len(liste)):
     sayac=0
     while True:
          if sayac > 6 :
                  print(i+1,".","Kupon dolduruldu")
                   break
         else:
             print(i+1,".","kupon dolduruluyor...")
             tahmin = int(input(f"{sayac}. Tahmininizi Giriniz : "))
             sayac += 1
             tahmin_listesi[i].append(tahmin)

Gibi bir kodla tüm tahminleri alırsın aralara prints serpiştireceğim birazdan:)
Çekiliş sonucunu da aynı mantıkta ayarlayabilirsin.Mantığını anlatmaya çalıştım yapamazsan müsait olunca kodu yazarım…

sn @Efkan iilginiz için teşekkür ederim. Kümeyi seçme sebebim tahmin ile çekiliş sonuçlarının kesişimlerinden kaç sayının tutturulduğunu hesaplatabiliyordum. Listelerde bu işlem nasıl yapılabilir açıkçası hiç düşünmedim. Kümeler konusunu öğreniyordum aklıma bu uygulama geldi. 2 farklı listede aynı olan elemanları nasıl tespit edebilirim yada iki ayrı listeyi 2 ayrı kümeye çevirip ordan ilerlemek mi daha mantıklı olur bir düşünüp yarın denemeler yapayım. Sonucu burdan yazarım. Teşekkür ederim.

Merhaba @efkan küçük programı mı sonunda bitirdim. Fakat konsol çıktısında değerler döngüden geldiği için her turda eğer kolonda yazılan sayı talihli sayılar içinde bulunuyorsa if -elif bloğunda ikramiyeleri belirlediğim kod çıktısında, 1 kuponda tutan tüm sayılar için ayrı ayrı ikramiye yi yazıyor. Bu durumu nasıl aşabilirim onu çözemedim. Yani toplamda 3 kolon tuttuysa sadece 3 sayı tuttu ikramiyesi bu desin 1. ve 2. sayının ikramiyelerini yazmasını engelleyemedim.

import random

def cekilis_yap():
    talihli_numaralar = []
    oynanan_kupon = []
    oynanan_kolon = []
    sayac = 6  

    kolon = int(input("Oynanacak kolon sayısını giriniz : "))
    print()

    for i in range(kolon):
        print(i+1, "No'Lu kolonu oynuyorsunuz.....")
        print()

        for j in range(6):
            numara = int(input(f"{j+1}.Sansli numaranizi giriniz : "))
            oynanan_kolon.append(numara)
            oynanan_kolon.sort()

            if len(oynanan_kolon) == 6:
                oynanan_kupon.append(oynanan_kolon)
                del oynanan_kolon
                oynanan_kolon = []
    
    while sayac > 0 :
        talihli_numara = random.randint(1,15)

        if talihli_numara in talihli_numaralar:
            continue
        else:
            talihli_numaralar.append(talihli_numara)
            talihli_numaralar.sort()
            sayac -= 1
    print("Talihli numaralar : ",talihli_numaralar)  

    for x in oynanan_kupon:

        sayac += 1
        result = []
        print(sayac,"No'lu Kolonda Oynanan Numaralar : ",x)          

        for y in x:
            if y in talihli_numaralar:
                result.append(y)

                if len(result) == 6:
                    print("****** 6 numaranız tuttu. 1.000.000 TL Kazandınız ****** ")
                elif len(result) == 5:
                    print("5 numaranız tuttu. 100.000 TL Kazandınız")
                elif len(result) == 4:
                    print("4 numaranız tuttu. 1.000 TL Kazandınız")
                elif len(result) == 3:
                    print("3 numaranız tuttu. 250 TL Kazandınız")
                elif len(result) == 2:
                    print("2 numaranız tuttu. 50 TL Kazandınız")  
                elif len(result) == 1:
                    print("1 numaranız tuttu. Amorti Kazandınız")
                else :
                    print("İkramiye Kazanamadınız")
        print(result)
  

cekilis_yap()