hamz011's picture
Update app.py
592e89d verified
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()