İnterval Antrenman Programı

 

Kardiyo çalışmalarında destek olabilecek tamamen python ile yazdığım bir uygulama. Kaynak koduna buradan erişebilirsiniz.

Python Direnç Hesaplama

 


import tkinter as tk
from tkinter.ttk import Combobox
from tkinter import messagebox
direnc_tablosu = {"siyah":0,"kahverengi":1,"kırmızı":2,"turuncu":3,"sarı":4,"yeşil":5,"mavi":6,"mor":7,"gri":8,"beyaz":9}
tolerans_tablosu = {"renksiz":20,"gümüş":10,"altın":5,"kahverengi":1,"kırmızı":2,"yeşil":0.5,"mavi":0.25,"mor":0.1,"gri":0.05}
direncler = list(direnc_tablosu.keys())
toleranslar = list(tolerans_tablosu.keys())
def hesapla():
    global renk1_cbox,renk2_cbox,renk3_cbox,direnc_tablosu,tolerans_tablosu,tlr
    sayi1 = direnc_tablosu[renk1_cbox.get()]
    sayi2 = direnc_tablosu[renk2_cbox.get()]
    sayi3 = direnc_tablosu[renk3_cbox.get()]
    sayi4 = tolerans_tablosu[tlr.get()]
    ohm = int(sayi1+sayi2) * 10 ** int(sayi3)
    aralik = ohm * (sayi4 * 10**-2)
    messagebox.showinfo(message="Direnç: {} - {} arasındadır.".format((ohm-aralik),(ohm+aralik)))
pencere = tk.Tk()
pencere.title("Direnç Hesaplama")
pencere.resizable(False,False)
etk1 = tk.Label(text="Renk 1")
etk1.grid(row=0,column=0)
etk2 = tk.Label(text="Renk 2")
etk2.grid(row=0,column=1)
etk3 = tk.Label(text="Çarpan")
etk3.grid(row=0,column=2)
etk4 = tk.Label(text="Tolerans")
etk4.grid(row=0,column=3)
renk1_cbox = Combobox(values=direncler)
renk1_cbox.grid(row=1,column=0)
renk2_cbox = Combobox(values=direncler)
renk2_cbox.grid(row=1,column=1)
renk3_cbox = Combobox(values=direncler)
renk3_cbox.grid(row=1,column=2)
tlr = Combobox(values=toleranslar)
tlr.grid(row=1,column=3)
hsp_btn = tk.Button(text="Hesapla",command=hesapla)
hsp_btn.grid(row=2,column=1)
cks = tk.Button(text="Çıkış",command=exit)
cks.grid(row=2,column=2)
pencere.mainloop()

Python Hafıza Karoları

 

Kaynak koduna buradan erişebilirsiniz

Python Hafıza Oyunu


 

Oyundaki amacımız ekrana gelen sayıları ezberleyip doğru bir şekilde yazmak. Python ile birlikte gelen modüller ile yazdığımdan hemen kopyalayıp çalıştırabilirsiniz.

import tkinter as tk
import threading
import time
import random

seviye = 4
can = 3
sekans = ""
dogru = 0

def kaybetme_kosullari():
    global can,canlbl
    canlbl["text"] = "Can:" +str(can)
    if can < 1:
        exit()

def yeni_sekans():
    global sayilbl,sekans,seviye,gonderbtn,cevap
    cevap["state"] = tk.DISABLED
    gonderbtn["state"] = tk.DISABLED
    sekans = str(random.randint(10**seviye,10**(seviye + 1) - 1))
    for i in sekans:
        sayilbl["text"] = i
        time.sleep(1)
        sayilbl["text"] = ""
        time.sleep(0.5)
    
    gonderbtn["state"] = tk.ACTIVE
    cevap["state"] = tk.NORMAL

def gonder():
    global sekans,cevap,dogru,dogrulbl,can,seviye
    thr2 = threading.Thread(target=yeni_sekans)
    if cevap.get() == sekans:
        dogru += 1
        dogrulbl["text"] = "Doğru: "+str(dogru)
        seviye += 1
        cevap.delete(0,len(cevap.get()))
        thr2.start()
    else:
        can -= 1
        seviye -= 1
        cevap.delete(0,len(cevap.get()))
        thr2.start()
    kaybetme_kosullari()

pencere = tk.Tk()
pencere.title("Hafıza Oyunu")
pencere.geometry(("400x300"))
pencere.resizable(False,False)
sayilbl = tk.Label(text="",font=("Ariel",70))
sayilbl.pack()
cevap = tk.Entry()
cevap.place(x=120,y=200)
gonderbtn = tk.Button(text="Gönder",command=gonder)
gonderbtn.place(x=165,y=230)
canlbl = tk.Label(text="Can: {}".format(can))
canlbl.place(x=20,y=280)
dogrulbl = tk.Label(text="Doğru: {}".format(dogru))
dogrulbl.place(x=320,y=280)
thr = threading.Thread(target=yeni_sekans)
thr.start()

pencere.mainloop()

Python Refleks Oyunu

 


import time
import tkinter
import threading
import simpleaudio
import random

yesil = 0
baslama_zamani = 0
bitis_zamani = 0
refleks_zamani = 0
zamanlar = []
ses = simpleaudio.WaveObject.from_wave_file("ping.wav")

def durum_mtd():
    global refleks_zamani
    if refleks_zamani < 0.2:
        return "İnanılmaz!"
    elif refleks_zamani < 0.5 and refleks_zamani > 0.2:
        return "Harika!"
    elif refleks_zamani < 1.0 and refleks_zamani > 0.5:
        return "İdare eder."
    else:
        return "Berbat!"

def geri_sayim():
    global yesil,mesaj,baslama_zamani,ses
    baslama_zamani = random.randint(1,10)
    while baslama_zamani > 0:
        time.sleep(1)
        baslama_zamani -= 1
    
    ses.play()
    yesil = time.time()

def tiklama():
    global bitis_zamani,yesil,refleks_zamani,zamanlar,liste,durum
    thr = threading.Thread(target=geri_sayim)
    if baslama_zamani == 0:
        bitis_zamani = time.time()
        refleks_zamani = bitis_zamani - yesil
        liste.insert(0,refleks_zamani)
        zamanlar.append(refleks_zamani)
        durum["text"] = durum_mtd()
        thr.start()
    else:
        toplam = 0
        for i in zamanlar:
            toplam += i
        try:
            print("Ortalama zamanınız:",toplam / len(zamanlar))
        except ZeroDivisionError:
            pass
        exit("Lütfen sesi bekleyin!")


pencere = tkinter.Tk()
pencere.title("Refleks Oyunu")
pencere.geometry(("300x300"))
durum = tkinter.Label(text="")
durum.pack()
liste = tkinter.Listbox(height=10,width=30)
liste.pack()
buton = tkinter.Button(text="Tıkla!",command=tiklama)
buton.pack()
thr2 = threading.Thread(target=geri_sayim)
thr2.start()
pencere.mainloop()

Python Deprem Bilgileri

http://www.koeri.boun.edu.tr/scripts/lst7.asp adresinden gelen verileri bir Listbox üzerinde gösteren python programı.



import tkinter as tk
import requests
from bs4 import BeautifulSoup

pencere = tk.Tk()
pencere.title("Son Depremler")
pencere.geometry(("450x300"))
pencere.resizable(False,False)

def guncellec():
    global depremler
    depremler.delete(0,depremler.size())
    header = {"User-Agent":"Firefox"}
    baglanti = requests.get("http://www.koeri.boun.edu.tr/scripts/lst2.asp",headers=header)
    html = BeautifulSoup(baglanti.text,features="html.parser").find("pre")
    deprem_listesi = str(html)[590:-9].split("\n")
    del deprem_listesi[0]
    for i,n in enumerate(deprem_listesi):
        depremler.insert(i,n)

tarih = tk.Label(text="Tarih")
tarih.place(x=30,y=30)
saat = tk.Label(text="Saat")
saat.place(x=75,y=30)
enlem = tk.Label(text="Enlem")
enlem.place(x=120,y=30)
boylam = tk.Label(text="Boylam")
boylam.place(x=170,y=30)
derinlik = tk.Label(text="Derinlik")
derinlik.place(x=225,y=30)
md = tk.Label(text="MD")
md.place(x=285,y=30)
ml = tk.Label(text="ML")
ml.place(x=315,y=30)
mw = tk.Label(text="MW")
mw.place(x=340,y=30)
yer = tk.Label(text="Yer")
yer.place(x=385,y=30)
depremler = tk.Listbox(height=10,width=48)
depremler.place(x=30,y=53)
guncelle = tk.Button(text="Güncelle",command=guncellec)
guncelle.place(x=165,y=260)

guncellec()

pencere.mainloop()

Python Çoktan Seçmeli Kelime Oyunu

 

Bu uygulamada TDK API'den çektiğimiz verilerle bir kelime oyunu yapıyoruz.


# Samet Güzelgün 04.10.23
import tkinter as tk
from tkinter import messagebox
import requests
import random
import beepy
cevap = ""
anlam = ""
dogru = ""
siklar = []
kontrol_lst = []
puan = 0
def basla():
    yeni_soru()
def set_cevap(cvp):
    global cevap
    cevap = cvp
    kontrol()
def kontrol():
    global kontrol_lst,cevap,dogru,puan,siklar,puan_etkt,anlam
    if kontrol_lst[int(cevap)] == dogru:
        beepy.beep()
        puan += 50
        puan_etkt["text"] = "Puan: " + str(puan)
        siklar.clear()
        yeni_soru()
    else:
        beepy.beep(sound=3)
        puan -= 50
        puan_etkt["text"] = "Puan: " + str(puan)
        dosya = open("yanlis_kelimeler.txt","a")
        dosya.write("\nKelime: {}\nAnlamı: {}".format(dogru,anlam))
        dosya.close()
        messagebox.showinfo("Yanlış!","Doğrusu:{}".format(dogru))
        siklar.clear()
        yeni_soru()
def yeni_soru():
    global buton1,buton2,buton3,siklar,dogru,anlam,anlam_etkt,kontrol_lst
    firefox = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36'}
    while len(siklar) < 3:
        a = requests.get("https://sozluk.gov.tr/taramaId?id=" + str(random.randint(0,14488)),headers=firefox)
        b = a.text.split(",")[1].split(":")[1].replace("\"","")
        dogru = b
        anlam = a.text.split(":")[3].split(",")[0].replace("'","").replace("\"","")
        if b not in siklar:
            siklar.append(b)
    anlam_etkt["text"] = "Anlam: " + anlam
    kontrol_lst = siklar
    random.shuffle(siklar)
    buton1["text"] = "A: " + siklar[0]
    buton2["text"] = "B: " + siklar[1]
    buton3["text"] = "C: " + siklar[2]
pencere = tk.Tk()
anlam_etkt = tk.Label(text="Kelime anlamı:")
anlam_etkt.grid(row=0,column=2)
buton1 = tk.Button(text="A:",command=lambda:set_cevap("0"))
buton1.grid(row=5,column=1)
buton2 = tk.Button(text="B:",command=lambda:set_cevap("1"))
buton2.grid(row=5,column=2)
buton3 = tk.Button(text="C:",command=lambda:set_cevap("2"))
buton3.grid(row=5,column=3)
basla_btn = tk.Button(text="Yeni Soru",command=basla)
basla_btn.grid(row=7,column=2)
puan_etkt = tk.Label(text="Puan:")
puan_etkt.grid(row=7,column=3)
pencere.title("Kelime Quiz")
pencere.resizable(0,0)
yeni_soru()
pencere.mainloop()

Python Arama Sihirbazı


 

import tkinter as tk
from tkinter import ttk
import webbrowser
def ara():
    global arama_motorlari,istek
    if arama_motorlari.get() == "Google":
        webbrowser.open("www.google.com/search?q=" + istek.get())
    if arama_motorlari.get() == "Yandex":
        webbrowser.open("www.yandex.com/search/?text=" + istek.get())
    if arama_motorlari.get() == "Bing":
        webbrowser.open("www.bing.com/search?q=" + istek.get())
    if arama_motorlari.get() == "Duckduckgo":
        webbrowser.open("www.duckduckgo.com/?t=ftsa&q=" + istek.get())
pencere = tk.Tk()
pencere.resizable(0,0)
pencere.title("Arama Sihirbazı")
pencere.geometry(("400x30"))
arama_motorlari = ttk.Combobox()
arama_motorlari["values"] = ["Google","Yandex","Bing","Duckduckgo"]
istek = tk.Entry()
istek.insert(tk.END,"Buraya yazın.")
ara_btn = tk.Button(text="Ara",command=ara,pady=0.1)
arama_motorlari.grid(row=0,column=1)
istek.grid(row=0,column=0)
ara_btn.grid(row=0,column=2)
pencere.mainloop()

pyPalette


 

import tkinter as tk
import pyperclip
from tkinter import Canvas
from tkinter.messagebox import showinfo
rkmlar = "0123456789abcdef"
tple = tuple(enumerate(rkmlar))

def deci(hexa):
    global tple
    if hexa >= 16:
        return tple[hexa // 16][1] + tple[hexa % 16][1]
    else:
        return "0" + str(tple[hexa % 16][1])
def boyama():
    global r,g,b,renk
    hexclr = deci(r.get()) + deci(g.get()) + deci(b.get())
    renk["bg"] = "#" + hexclr
    hxclr = "#" + hexclr
    pyperclip.copy("{},{},{} - {}".format(r.get(),g.get(),b.get(),hxclr))
    showinfo("Renk kodları","RGB: {},{},{}\nHex: {}\nBilgiler panoya kopyalandı.".format(r.get(),g.get(),b.get(),hxclr))

pencere = tk.Tk()
pencere.title("pyPalette")
pencere.resizable(0,0)
renk = Canvas(height=100,width=100,bg="purple")
renk.pack()
r = tk.Scale(length=300,from_=0,to=255,orient=tk.HORIZONTAL,bg="red")
r.pack()
g = tk.Scale(length=300,from_=0,to=255,orient=tk.HORIZONTAL,bg="green")
g.pack()
b = tk.Scale(length=300,from_=0,to=255,orient=tk.HORIZONTAL,bg="blue")
b.pack()
yeni_renk = tk.Button(text="Yeni Renk",command=boyama)
yeni_renk.pack()
pencere.mainloop()

Python Şifre Oluşturucu

 

import tkinter as tk
import pyperclip
import random
karakterler_kck = "0123456789abcçdefgğhıijklmnoöprsştuüvyzxq.-!\"()&."
karakterler = karakterler_kck + karakterler_kck.upper()
def kopyala():
    pyperclip.copy(sifre.get())
def yeni_sifre():
    global karakterler,sifre_uzunluk
    return str(random.sample(karakterler,sifre_uzunluk.get())).replace(" ","").replace("[","").replace("]","").replace("'","").replace(",","")
def sifre_olustur():
    global sifre
    sifre.delete(0,tk.END)
    sifre.insert(tk.END,yeni_sifre())
pencere = tk.Tk()
pencere.resizable(0,0)
pencere.geometry(("400x200"))
pencere.title("Şifre Oluşturucu")
etkt = tk.Label(text="Şifre:")
etkt.place(x=85,y=10)
sifre = tk.Entry(pencere)
sifre.place(x=128,y=10)
kopyala_buton = tk.Button(text="Kopyala",command=kopyala)
kopyala_buton.place(x=110,y=110)
olustur_buton = tk.Button(text="Oluştur",command=sifre_olustur)
olustur_buton.place(x=240,y=110)
sifre_uzunluk = tk.Scale(length=200,from_=8,to=20,orient=tk.HORIZONTAL)
sifre_uzunluk.place(x=110,y=40)
pencere.mainloop()

Python Hesap Makinesi

 


import tkinter as tk
pencere = tk.Tk()
pencere.title("Hesap Makinesi")
pencere.resizable(0,0)
sonuc_str = ""

def sifir():
    global yazi
    yazi.insert(tk.END,"0")
def bir():
    global yazi
    yazi.insert(tk.END,"1")
def iki():
    global yazi
    yazi.insert(tk.END,"2")
def uc():
    global yazi
    yazi.insert(tk.END,"3")
def dort():
    global yazi
    yazi.insert(tk.END,"4")
def bes():
    global yazi
    yazi.insert(tk.END,"5")
def alti():
    global yazi
    yazi.insert(tk.END,"6")
def yedi():
    global yazi
    yazi.insert(tk.END,"7")
def sekiz():
    global yazi
    yazi.insert(tk.END,"8")
def dokuz():
    global yazi
    yazi.insert(tk.END,"9")
def carpma():
    global yazi
    yazi.insert(tk.END,"*")
def toplama():
    global yazi
    yazi.insert(tk.END,"+")
def cikarma():
    global yazi
    yazi.insert(tk.END,"-")
def bolme():
    global yazi
    yazi.insert(tk.END,"/")
def temizle():
    global yazi
    yazi.delete(0,tk.END)
def sonuc():
    global yazi,sonuc_str
    sonuc_str = eval(yazi.get())
    yazi.delete(0,tk.END)
    yazi.insert(tk.END,sonuc_str)
    sonuc_str = ""

yazi = tk.Entry()
yazi.grid(column=10,row=0)
buton1 = tk.Button(text="1",command=bir)
buton1.grid(column=0,row=2)
buton2 = tk.Button(text="2",command=iki)
buton2.grid(column=1,row=2)
buton3 = tk.Button(text="3",command=uc)
buton3.grid(column=2,row=2)
buton4 = tk.Button(text="4",command=dort)
buton4.grid(column=0,row=3)
buton5 = tk.Button(text="5",command=bes)
buton5.grid(column=1,row=3)
buton6 = tk.Button(text="6",command=alti)
buton6.grid(column=2,row=3)
buton7 = tk.Button(text="7",command=yedi)
buton7.grid(column=0,row=4)
buton8 = tk.Button(text="8",command=sekiz)
buton8.grid(column=1,row=4)
buton9 = tk.Button(text="9",command=dokuz)
buton9.grid(column=2,row=4)
buton_tmzle = tk.Button(text="C",command=temizle,padx=11)
buton_tmzle.grid(column=0,row=5)
buton0 = tk.Button(text="0",command=sifir)
buton0.grid(column=1,row=5)
buton_snc = tk.Button(text="=",command=sonuc,padx=9)
buton_snc.grid(column=2,row=5)
buton_topla = tk.Button(text="+",command=toplama)
buton_topla.grid(column=5,row=2)
buton_cikarma = tk.Button(text="-",command=cikarma,padx=14)
buton_cikarma.grid(column=5,row=3)
buton_bolme = tk.Button(text="/",command=bolme,padx=15)
buton_bolme.grid(column=5,row=4)
buton_carpma = tk.Button(text="*",command=carpma,padx=13)
buton_carpma.grid(column=5,row=5)

pencere.mainloop()

Python ile İdeal Kilo Hesaplama



import tkinter as tk
from tkinter import messagebox
pencere = tk.Tk()
pencere.title("İdeal Kilo Hesaplama")
pencere.resizable(0,0)
pencere.geometry(("200x100"))

def hesapla(uznlk):
    maks_kilo = (uznlk ** 2) * 25
    min_kilo = (uznlk ** 2) * 18.5
    return "İdeal kilonuz {} ile {} arasındadır.".format(round(min_kilo,1),round(maks_kilo,1))
def mesaj():
    try:
        messagebox.showinfo(title="Sonuç",message=hesapla(float(uzunluk.get())))
    except ValueError:
        messagebox.showerror(title="Hata!",message="Lütfen sayısal bir değer giriniz.")
uzunluk = tk.Entry()
uzunluk.insert(tk.END,"Boyunuz(m)")
uzunluk.pack()
buton = tk.Button(text="Hesapla",command=mesaj)
buton.pack()
pencere.mainloop()

Python Mors Kodu Oluşturucu/Dönüştürücü

Hazırladığım bu kodda oluşturma ve dönüştürmeye ek olarak winsound modülü aracılığıyla oluşturulan kodlar sese de dönüştürülebiliyor.

import winsound
uzun,kisa = 700,200
menu = """Mors kodu oluşturucu/çevirici
(1)Morsa çevir
(2)Morstan çevir
(3)Çık"""
alfabe = [["a",".-"],["b","-..."],["c","-.-."],["d","-.."],["e","."],["f","..-."],["g","--."],["h","...."],["i",".."],["j",".---"],["k","-.-"],["l",".-.."],["m","--"],["n","-."],["o","---"],["p",".--."],
          ["q","--.-"],["r",".-."],["s","..."],["t","-"],["u","..-"],["v","...-"],["w",".--"],["x","-..-"],["y","-.--"],["z","--.."],["0","-----"],["1",".----"],["2","..---"],["3","...--"],["4","....-"],["5","....."],
          ["6","-...."],["7","--..."],["8","---.."],["9","----."]]
cevirilen_metin = ""
mors = ""
morstan_cevrilen = []
def oynat():
    global mors
    for i in mors:
        if i == "-":
            winsound.Beep(2000,uzun)
        if i == ".":
            winsound.Beep(2000,kisa)
while True:
    print(menu)
    cevirilen_metin = ""
    morstan_cevrilen = []
    secenek = int(input("Seçiminiz:"))
    if secenek == 1:
        metin = input("Çevrilmesini istediğiniz metini giriniz:")
        for i in metin:
            for z,x in alfabe:
                if i == z:
                    cevirilen_metin += x + " "
        mors = cevirilen_metin
        print("Sonuç:",cevirilen_metin)
        oynat()
    if secenek == 2:
        metin = input("Çevrilmesini istediğiniz kodu giriniz:")
        baslangic,indis = 0,0
        while indis < len(metin) - 1:
            indis += 1
            if metin[indis] == " ":
                morstan_cevrilen.append(metin[baslangic:indis])
                baslangic = indis + 1
        morstan_cevrilen.append(metin[baslangic:len(metin)])
        for i in morstan_cevrilen:
            for z,x in alfabe:
                if i == x:
                    cevirilen_metin += z
                    mors += i
        print("Sonuç:",cevirilen_metin)
        oynat()
    if secenek == 3:
        print("Yine bekleriz!")
        exit()

Python Mental Aritmetik Oyunu

Oyunu oynayabilmek için bir editör yerine komut satırını tercih etmelisiniz. Ekranda çıkan sayıları ezberleyin, verilen işlemleri yapın.

import os
import time
import random
can = 3
seviye = 3
standart = 3
sonuc = random.randint(1,50)
puan = 0
while can > 0:
    print(sonuc)
    time.sleep(3)
    while seviye > 0:
        islem = random.randint(0,4)
        if islem == 1:
            sayi = random.randint(1,50)
            sonuc += sayi
            print("+",sayi)
            time.sleep(2)
            seviye -= 1
            os.system("cls")
        if islem == 2:
            sayi = random.randint(1,9)
            sonuc *= sayi
            print("x",sayi)
            time.sleep(2)
            seviye -= 1
            os.system("cls")
        if islem == 3:
            sayi = random.randint(1,50)
            sonuc -= sayi
            print("-",sayi)
            time.sleep(2)
            seviye -= 1
            os.system("cls")
        if islem == 4:
            sayi = random.randint(1,50)
            while sonuc % sayi != 0:
                sayi = random.randint(1,50)
            sonuc /= int(sayi)
            print("/",sayi)
            time.sleep(2)
            seviye -= 1
            os.system("cls")
    yanit = input("Yanıtınız:")
    if yanit == "q":
        break
    if int(yanit) == sonuc:
        print("Doğru yanıt!")
        puan += 30
        time.sleep(3)
        standart += 1
        seviye = standart
        sonuc = random.randint(1,50)
    else:
        print("Yanlış yanıt!",sonuc,"olmalıydı.")
        time.sleep(3)
        puan -= 10
        can -= 1
        seviye = 3
        sonuc = random.randint(1,50)
print("Oyun bitti. Toplam puan:",puan)

Python Math Quiz

Oyun rastgele bir biçimde dört işlemden birini seçiyor ve şık oluşturuyor. Sizden istenen doğru şıkkı yazmanız. 3 defa yanlış yapmanız halinde oyun sona eriyor. 

import random
cevaplar = []
soru = ""
turSayisi = 0
puan = 0
cevap = 0
secenekler = {}
can = 3
def cevap_olustur():
    global cevap,cevaplar,secenekler
    while len(cevaplar) < 4:
        y_cevap = random.randint(cevap - 5,cevap + 5)
        if y_cevap != cevap and y_cevap not in cevaplar:
            cevaplar.append(y_cevap)
    cevaplar.sort()
    secenekler = {"a":cevaplar[0],"b":cevaplar[1],"c":cevaplar[2],"d":cevaplar[3]}
    return cevaplar
def toplama():
    global cevap,cevaplar
    sayi1 = random.randint(1,9999)
    sayi2 = random.randint(1,9999)
    cevap = sayi1 + sayi2
    cevaplar.append(cevap)
    return f"{sayi1} + {sayi2} = ?"
def cikarma():
    global cevap,cevaplar
    sayi1 = random.randint(1,9999)
    sayi2 = random.randint(1,9999)
    cevap = sayi1 - sayi2
    cevaplar.append(cevap)
    return f"{sayi1} - {sayi2} = ?"
def carpma():
    global cevap,cevaplar
    sayi1 = random.randint(1,9999)
    sayi2 = random.randint(1,9999)
    cevap = sayi1 * sayi2
    cevaplar.append(cevap)
    return f"{sayi1} * {sayi2} = ?"
def bolme():
    global cevap,cevaplar
    sayi1,sayi2 = 0,0
    while True:
        r_sayi1 = random.randint(1,9999)
        r_sayi2 = random.randint(1,9999)
        if r_sayi1 > r_sayi2 and r_sayi1 % r_sayi2 == 0:
            sayi1 = r_sayi1
            sayi2 = r_sayi2
            cevap = sayi1 / sayi2
            cevaplar.append(cevap)
            break
    return f"{sayi1} / {sayi2} = ?"
while can > 0:
    cevaplar = []
    turSayisi += 1
    print(turSayisi,". soru")
    islemModu = random.randint(1,4)
    if islemModu == 1:
        print(toplama())
        print(cevap_olustur())
        yanit = input("a/b/c/d").lower()
        if secenekler[yanit] == cevap:
            puan += 50
            print("Doğru yanıt! Puanınız:",puan)
        else:
            puan -= 50
            can -= 1
            print("Yanlış yanıt! Cevap",cevap,"olmalıydı.","Kalan can",can)
    if islemModu == 2:
        print(cikarma())
        print(cevap_olustur())
        yanit = input("a/b/c/d:").lower()
        if secenekler[yanit] == cevap:
            puan += 50
            print("Doğru yanıt! Puanınız:",puan)
        else:
            puan -= 50
            can -= 1
            print("Yanlış yanıt! Cevap",cevap,"olmalıydı.","Kalan can:",can)
    if islemModu == 3:
        print(carpma())
        print(cevap_olustur())
        yanit = input("a/b/c/d:").lower()
        if secenekler[yanit] == cevap:
            puan += 50
            print("Doğru yanıt! Puanınız:",puan)
        else:
            puan -= 50
            can -= 1
            print("Yanlış yanıt! Cevap",cevap,"olmalıydı.","Kalan can:",can)
    if islemModu == 4:
        print(bolme())
        print(cevap_olustur())
        yanit = input("a/b/c/d:").lower()
        if secenekler[yanit] == cevap:
            puan += 50
            print("Doğru yanıt! Puanınız:",puan)
        else:
            puan -= 50
            can -= 1
            print("Yanlış yanıt! Cevap",cevap,"olmalıydı.","Kalan can:",can)
print(f"\nOyun Sonucu\nToplam tur:{turSayisi}\nToplam puan:{puan}")

Python Adam Asmaca

import random
kelimeler = ["taksi","araba","tanker","imza","kobay"]
can = 5
d_list = []
durum = ""
puan = 0
secilen_kelime = ""
tahmin = ""
ipucu = 3
kontrol_k = ""
def harf_tarama():
    global d_list,secilen_kelime,tahmin,d_list
    for x,y in enumerate(secilen_kelime):
        if y == tahmin:
            d_list[x] = tahmin
def kontrol():
    global d_list,kontrol_k
    kontrol_k = ""
    for i in d_list:
        kontrol_k += i
    if kontrol_k == secilen_kelime:
        return False
    else:
        return True
while can > 0:
    ipucu = 3
    sayi = random.randint(0,len(kelimeler) - 1)
    secilen_kelime = kelimeler[sayi]
    durum = len(secilen_kelime)* "-"
    d_list = list(durum)
    print(len(secilen_kelime),"harfli bir kelime arıyorsunuz:\n",durum)
    tahmin = input("Tahmininizi giriniz:")
    if bool(tahmin) != True:
        exit()
    while bool(tahmin) == True and can > 0 and kontrol and ipucu > 0:
        if kontrol_k == secilen_kelime:
            puan += 30
            print("Doğru harfler! Puanınız:",puan)
            break
        if tahmin == secilen_kelime:
            puan += 50
            print("Doğru tahmin! Puanınız:",puan)
            break
        if len(tahmin) == 1 and kontrol():
            harf_tarama()
            print(d_list)
            ipucu -= 1
            print("Kalan ipucu:",ipucu)
            tahmin = input("Tahmininizi giriniz:")
        else:
            puan -= 10
            can -= 1
            print("Yanlış tahmin! Doğrusu:",secilen_kelime,"\nPuanınız:",puan,"Kalan can:",can)
            break
print("Final skoru:",puan)