Herkese sağlıklı günler dilerim.
Kendi çapımda Bir süperloto uygulaması gerçekleştirdim ve program istediğim sonucu veriyor. Fakat değerler döngüden geldiği için, 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. Bu sorunu nasıl aşabilirim. Teşekkürler
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()
"Oynanacak kolon sayısını giriniz : " bu ne işe yarıyor, piyango olayının mantığını bilmediğimden soruyorum. Ben demin sanırım 1 kolonlu bir piyango oynayıp 1 milyon TL kazandım…
Superlotoda tam emin değilim ama ya 6 yada 8 kolon var herbir kolona 6 farklı sayı giriyorsunuz yapılan çekilişte de 6 farklı sayı çıkıyor sizin işaretlediğiniz 6 sayı ile çekilişte çıkan sayılardan kaç tanesi eşleşiyorsa ona göre para kazanıyorsunuz. 6 tane 1 oynanmaz normalde ama benim sıkıntım için iyi bir örnek olmuş normalde sadece amorti kazanması gerekiyor. Oynadığınız kolon sayısı kadar para ödüyorsunuz normalde atıyorum bir kolon oynarsanız 10 tl 6 kolon dodurursanız 60 tl ödüyorsunuz kupon için her kolonda da 6 sayı işaretlemeniz gerekiyor.
1 den 15 e kadar 6 farklı sayı girerseniz durumu daha iyi anlarsınız. Normalde 1 den 46 sayıya kadar giriliyor gerçek lotoda ama ben örnekte 15 e kadar aralığı belirledim.
@cnull girintiyi geriye almak da dediğiniz gibi çözüm oldu, aslında girintileri geriye almayı bir çok defa ve farklı şekilde denedim ama neden sonuç vermedi anlamadım demek ki bir şeyi gözden kaçırmışım her zamanki gibi.