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

Python:
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.

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

yerine

overload fonksiyon:
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

Çevrimiçi personel

Forum istatistikleri

Konular
6,890
Mesajlar
117,777
Üyeler
2,798
Son üye
BlackEdition

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top