Yüzsüz Hesap Makinesi - Python

nt

Emekli
Katılım
21 Nisan 2023
Mesajlar
1,221
Python ile geliştirdiğim bir hesap makinesi uygulamasını sizinle paylaşmak istedim.

Bu hesap makinesi, çeşitli matematiksel işlemleri gerçekleştirebiliyor. İsterseniz toplama, çıkarma gibi temel işlemleri yapabilir veya sinüs, cosinüs gibi trigonometrik fonksiyonları kullanabilirsiniz.

kodu kopyala yapıştır ile bilgisayarınıza kaydedin .py uzantılı olsun sonra terminalden python3 dosyaadı.py enter yapın çalışıyor.

lisansı yoktur gönlünüzce kullanın

Ekran Görüntüsü - 2023-12-28 00-11-10.png

Kod:
print("""
                                                                ###
                                                                 ##
 ##  ##   ##  ##   ######    #####   ##  ##   ######             ##       ####     #####    ####    ######
 ##  ##   ##  ##   #  ##    ##       ##  ##   #  ##              #####   ##  ##   ##           ##    ##  ##
 ##  ##   ##  ##     ##      #####   ##  ##     ##               ##  ##  ######    #####    #####    ##  ##
  #####   ##  ##    ##  #        ##  ##  ##    ##  #             ##  ##  ##            ##  ##  ##    #####
     ##    ######  ######   ######    ######  ######            ###  ##   #####   ######    #####    ##
 #####                                                                                              ####
""")
print(f"@ixnur - Yuzsuz Hesap Makinesi")
print(f"Yazılım: Python")
print(f"--------------------------------------------------------------------------------------------------------")
import math

def toplama(x, y):
    return x + y

def cikarma(x, y):
    return x - y

def carpma(x, y):
    return x * y

def bolme(x, y):
    if y != 0:
        return x / y
    else:
        return "Bölen sıfır olamaz!"

def karekok(x):
    return math.sqrt(x)

def us_alma(x, y):
    return math.pow(x, y)

def mod_alma(x, y):
    return x % y

def faktoriyel(x):
    return math.factorial(x)

def sin(x):
    return math.sin(x)

def cos(x):
    return math.cos(x)

def tan(x):
    return math.tan(x)

def logaritma(x, base):
    return math.log(x, base)

def mutlak_deger(x):
    return abs(x)

def kupkok(x):
    return math.pow(x, 1/3)

print("1. Toplama")
print("2. Çıkarma")
print("3. Çarpma")
print("4. Bölme")
print("5. Karekök")
print("6. Üs Alma")
print("7. Mod Alma")
print("8. Faktöriyel")
print("9. Sinüs")
print("10. Kosinüs")
print("11. Tanjant")
print("12. Logaritma")
print("13. Mutlak Değer")
print("14. Küpkök")
print("Q. Çıkış")

while True:
    secim = input("Yapmak istediğiniz işlemi seçin (1-14): ")

    if secim.lower() == 'q':
        print("Programdan çıkılıyor...")
        break

    if secim in ('1', '2', '3', '4', '7', '8', '9', '10', '11', '12', '13', '14'):
        x = float(input("Birinci sayıyı girin: "))
    else:
        x = int(input("Birinci sayıyı girin: "))

    if secim not in ('5', '15'):
        y = float(input("İkinci sayıyı girin: "))

    if secim == '1':
        print("Sonuç: ", toplama(x, y))
    elif secim == '2':
        print("Sonuç: ", cikarma(x, y))
    elif secim == '3':
        print("Sonuç: ", carpma(x, y))
    elif secim == '4':
        print("Sonuç: ", bolme(x, y))
    elif secim == '5':
        print("Sonuç: ", karekok(x))
    elif secim == '6':
        print("Sonuç: ", us_alma(x, y))
    elif secim == '7':
        print("Sonuç: ", mod_alma(x, y))
    elif secim == '8':
        print("Sonuç: ", faktoriyel(x))
    elif secim == '9':
        print("Sonuç: ", sin(x))
    elif secim == '10':
        print("Sonuç: ", cos(x))
    elif secim == '11':
        print("Sonuç: ", tan(x))
    elif secim == '12':
        base = float(input("Logaritma tabanını girin: "))
        print("Sonuç: ", logaritma(x, base))
    elif secim == '13':
        print("Sonuç: ", mutlak_deger(x))
    elif secim == '14':
        print("Sonuç: ", kupkok(x))
    else:
        print("Geçersiz bir seçim yaptınız. Lütfen tekrar deneyin.")
 

Ekler

  • Ekran Kaydı - 28-12-2023 00:11:23.webm
    503.2 KB
Bence hafiften frontend olayına başla , hem de program yazarken daha keyif alarak yaparsın .
 
  • Üzgün
Reactions: nt
@nt python bilgin iyi seviyede ama kodu sadeleştirmek için sana bir tavsiyede bulunabilirim.

Kod:
def toplama(x, y):
    return x + y

yerine

Kod:
def islem(islem, x, y = 0, z = 0):
    if islem == "+":
        return x + y
    if islem == "-":
        return x - y
    if islem == "karekök":
        return sqrt(x)
    if islem == "kuvvet":
        return pov(x, y)
gibi gibi..

hem daha fonksiyonel yazım yaparsın hem de aynı rutinleri tekrar tekrar yazmazsın.
Nacizane bir tavsiye
 
  • Beğen
Reactions: nt
Çocuklara anlatırken (bilişim öğretmeniyim) bu örneği geometrik şekillerin alan ve hacimlerini örnek vererek anlatıyorum. oldukça akılda kalıcı oluyor.
Mesela elimizde a, h ve y bilgisi olsun. (x =a, y=y, z=h şeklinde de düşünebilirsiniz.) Küp, koni, küre, silindir, prizma, düzgün dörtyüzlü gibi geometrik cisimlerin alan ve hacimleri tek bir fonksiyon ile tanımlanabiliyor. Kullanımı çok hoşuma gitmişti.
 
  • Beğen
Reactions: nt

Forum istatistikleri

Konular
7,234
Mesajlar
122,410
Üyeler
2,922
Son üye
Spacetr

Son kaynaklar

Son profil mesajları

Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy semih_s Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal taydin Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top