Spaces:
Sleeping
Sleeping
import gradio as gr | |
# Diziler | |
sorular = [ | |
{ | |
"sayi_listesi": [ | |
[1, 3, 5, 7, 9, 11, 13, 15], | |
[17, 19, 21, 23, 25, 27, 29, 31], | |
[33, 35, 37, 39, 41, 43, 45, 47], | |
[49, 51, 53, 55, 57, 59, 61, 63], | |
], | |
"ilk_eleman": 1, | |
}, | |
{ | |
"sayi_listesi": [ | |
[4, 5, 6, 7, 12, 13, 14, 15], | |
[20, 21, 22, 23, 28, 29, 30, 31], | |
[36, 37, 38, 39, 44, 45, 46, 47], | |
[52, 53, 54, 55, 60, 61, 62, 63], | |
], | |
"ilk_eleman": 4, | |
}, | |
{ | |
"sayi_listesi": [ | |
[2, 3, 6, 7, 10, 11, 14, 15], | |
[18, 19, 22, 23, 26, 27, 30, 31], | |
[34, 35, 38, 39, 42, 43, 46, 47], | |
[50, 51, 54, 55, 58, 59, 62, 63], | |
], | |
"ilk_eleman": 2, | |
}, | |
{ | |
"sayi_listesi": [ | |
[32, 33, 34, 35, 36, 37, 38, 39], | |
[40, 41, 42, 43, 44, 45, 46, 47], | |
[48, 49, 50, 51, 52, 53, 54, 55], | |
[56, 57, 58, 59, 60, 61, 62, 63], | |
], | |
"ilk_eleman": 32, | |
}, | |
{ | |
"sayi_listesi": [ | |
[16, 17, 18, 19, 20, 21, 22, 23], | |
[24, 25, 26, 27, 28, 29, 30, 31], | |
[48, 49, 50, 51, 52, 53, 54, 55], | |
[56, 57, 58, 59, 60, 61, 62, 63], | |
], | |
"ilk_eleman": 16, | |
}, | |
{ | |
"sayi_listesi": [ | |
[8, 9, 10, 11, 12, 13, 14, 15], | |
[24, 25, 26, 27, 28, 29, 30, 31], | |
[40, 41, 42, 43, 44, 45, 46, 47], | |
[56, 57, 58, 59, 60, 61, 62, 63], | |
], | |
"ilk_eleman": 8, | |
}, | |
] | |
# Sayı tablosunu HTML formatında göstermek için | |
def tablo_olustur(sayi_listesi): | |
tablo = "<table style='width:100%; text-align:center; align-items: center;font-size: 20px; border-collapse:collapse;'>" | |
for satir in sayi_listesi: | |
tablo += "<tr>" | |
for sayi in satir: | |
tablo += f"<th style='border: 1px solid black; padding: 5px; text-align: center;'>{sayi}</th>" | |
tablo += "</tr>" | |
tablo += "</table>" | |
return tablo | |
# Kullanıcıdan gelen "var" veya "yok" cevabına göre toplama ekleme fonksiyonu | |
def sayi_tahmin(*adimlar): | |
toplam = 0 | |
for i, cevap in enumerate(adimlar): | |
if cevap: | |
toplam += sorular[i]["ilk_eleman"] | |
return f"Tuttuğunuz sayı: {toplam}" | |
# Gradio arayüzü | |
btn_clikced=False | |
def reset(): | |
with gr.Blocks() as app: | |
gr.Markdown("<center><strong style='font-size: 30px;'>Merhaba sayi tahmin oyununa HOŞ GELDİNİZ!</strong></center>") | |
gr.Markdown("<center><strong style='font-size: 20px;'>1-63 arasında bir sayi tutunuz!</strong></center>") | |
checkboxes = [] | |
# Her bir adım için soruyu gösteren Checkbox ve tabloyu ekliyoruz | |
for i, soru in enumerate(sorular): | |
gr.Markdown(f"Adım {i+1}:") | |
gr.HTML(tablo_olustur(soru["sayi_listesi"])) | |
checkboxes.append( | |
gr.Checkbox( | |
label=f"Tuttuğunuz sayı bu dizide varsa tıklayınız", value=False | |
) | |
) | |
btn = gr.Button("Tahmin Et") | |
sonuc = gr.Textbox(label="Sonuç") | |
def tahmin_et(*adimlar): | |
sonuc_value = sayi_tahmin(*adimlar) | |
return sonuc_value | |
when = btn.click(tahmin_et, inputs=checkboxes, outputs=[sonuc]) | |
btn_clikced=True | |
return app | |
app = reset() | |
app.launch() | |