Python Hesap makinesi nasıl geliştirilir?

Katılım
1 Mart 2021
Mesajlar
667
Makaleler
1
Çözümler
5
Yer
Ankara
Selam,
Python'a daha yeni başladım, ve kullandığım ilk dil. İlk olarak bir hesap makinesi yapmak istedim fakat bir şey daha eklemek istiyorum. Örnek olarak kod ilk açıldığında toplama veya çarpma mı yapmak istiyorsun sorusunu soracak ve ona göre toplama veya çarpma satırını çalıştıracak. Daha dün başladım ve fazla bir bilgim yok.

Kod;

Sayı1 = int(input("1.sayıyı giriniz"))
Sayı2 = int(input("2.sayıyı girniz"))
Toplamı = sayı1+sayı2
Print(sayı1,'+',sayı2,"toplamı =",toplamı)

#Çarpım1 = int(input("1.çarpımı girin"))
#Çarpım2 = int(input("2.çarpımı girin"))
#Çarpımı = çarpım1*çarpım2
#Print(çarpım1,'+',çarpım2,"çarpımı =", çarpımı)
 
ChatGPT bu tur sorulari cevaplamakta cok basarili ve foruma gore cok daha hizli. Kullanmani tavsiye ederim. Ayrica butcen varsa 20 dolara satin alip o1 modelini kullan derim. Fazlasiyla detayli ve aciklayici cevaplar veriyor.
 
Kullanıcıdan sayı almayı zorunlu kılabilirsin. while True ve İf else kullanarak sayı dışında girilen girdileri engelleyebilir ayrıca len fonksiyonu kullanarak yan yana alacağın maksimum sayıları kısıtlayabilirsin. Bunları gerçekleştirdikten sonra def() ile bunu bir fonksiyon haline getirip döngüye sokabilirsin.
 
Selam,
Python'a daha yeni başladım, ve kullandığım ilk dil. İlk olarak bir hesap makinesi yapmak istedim fakat bir şey daha eklemek istiyorum. Örnek olarak kod ilk açıldığında toplama veya çarpma mı yapmak istiyorsun sorusunu soracak ve ona göre toplama veya çarpma satırını çalıştıracak. Daha dün başladım ve fazla bir bilgim yok.

Kod;

Döngülere ve koşullu ifadelere kadar ilerleyin, oraları öğrenince nasıl yapacağınızı anlarsınız.
 
Döngülere ve koşullu ifadelere kadar ilerleyin, oraları öğrenince nasıl yapacağınızı anlarsınız.

YouTube'dan biraz araştırdım artı olarak chat GPT'ye özet çıkarttırdım if Elif else ifadelerini öğrendim. Ve tekrar düzenledim.

Kod;
print("Yapmak istediğiniz işlemi seçiniz ")
print("1. Toplama")
print("2. Çarpma")
secim = input("Seçiminiz (1/2): ")


if secim == "1":
#Toplama işlemi
Sayı1 = int(input("1.sayıyı giriniz"))
Sayı2 = int(input("2.sayıyı girniz"))
Toplamı = Sayı1+Sayı2
print(Sayı1,'+' ,Sayı2,"Toplamı =",Toplamı)

elif secim == "2":
#Çarpma işlemi
çarpım1 = int(input("1.çarpımı girin"))
çarpım2 = int(input("2.çarpımı girin"))
çarpımı = çarpım1*çarpım2
print(çarpım1,'+',çarpım2,"çarpımı =", çarpımı)

else:
print("Gerçersiz seçim. Lütfen 1 veya 2 seçiniz.")
 
@wubba lubba dub dub döngüleri de öğrenip bu işin içine katarsanız daha da güzel bir şeyler yazabilirsiniz.

Mesela yanlış seçim yapıldığında programı sonlandırmaz direkt tekrar sorar, programı kapatmak için ise bir sayı atarsınız mesela dörde basınca programı kapatır.

Python bilginizi geliştirip arayüze sahip bir tane de yazabilirsiniz, Tkinter ya da PyQt gibi modüller ile.

Öğrenmekten vazgeçmeyin, bol şans!
 
@wubba lubba dub dub döngüleri de öğrenip bu işin içine katarsanız daha da güzel bir şeyler yazabilirsiniz.

Mesela yanlış seçim yapıldığında programı sonlandırmaz direkt tekrar sorar, programı kapatmak için ise bir sayı atarsınız mesela dörde basınca programı kapatır.

Python bilginizi geliştirip arayüze sahip bir tane de yazabilirsiniz, Tkinter'ya da PyQt gibi modüller ile.

Öğrenmekten vazgeçmeyin, bol şans!

Cevabınız ve tavsiyeniz için teşekkür ederim hocam, iyi akşamlar.
 
Python:
from os import name, system
import questionary as qa
from rich import print as rprint
from rich.panel import Panel

def clear():
    system('cls' if name == 'nt' else 'clear')
def toplama(x, y):
    rprint(Panel.fit(f"[green][strong]{x + y}[/strong][/green]"))
def cikarma(x, y):
    rprint(Panel.fit(f"[yellow][strong]{x - y}[/strong][/yellow]"))
def carpma(x, y):
    rprint(Panel.fit(f"[blue][strong]{x * y}[/strong][/blue]"))
def bolme(x, y):
    if y == 0:
        rprint(Panel.fit("[red]Bir sayı sıfıra bölünemez![/red]"))
    else:
        rprint(Panel.fit(f"[magenta][strong]{x / y}[/strong][/magenta]"))

def menuLoop():
    while True:
        clear()
        rprint(Panel.fit("[green][strong]Hesap Makinesi[/strong][/green]"))

        islem = qa.select(
            "İşlemi seç (ok tuşlarını kullan enter ile seç):",
            choices=["Toplama", "Çıkarma", "Çarpma", "Bölme", "Kapat"],
            instruction=" ",
        ).ask()

        if islem == "Kapat":
            clear()
            exit()

        try:
            sayi1 = float(qa.text("1. Sayı: ").ask())
            sayi2 = float(qa.text("2. Sayı: ").ask())
        except ValueError:
            rprint(Panel.fit("[red][strong]Geçerli bir sayı giriniz![/strong][/red]"))
            qa.press_any_key_to_continue("Bir tuşa basarak devam edin...").ask()
            continue
        if islem == "Toplama":
            toplama(sayi1, sayi2)
        elif islem == "Çıkarma":
            cikarma(sayi1, sayi2)
        elif islem == "Çarpma":
            carpma(sayi1, sayi2)
        elif islem == "Bölme":
            bolme(sayi1, sayi2)

        qa.press_any_key_to_continue("Bir tuşa basarak devam edin...").ask()

if __name__ == "__main__":
    menuLoop()

Şöyle bir kod yazdım belki buradaki bazı şeyler size ilham olur ve kendinizi geliştirmenize yardımcı olabilir olabildiğince estetik yapmaya çalıştım. Eğer bir sorunuz olursa sormaktan çekinmeyin.
 

Technopat Haberler

Geri
Yukarı