nt

Emekli
Katılım
21 Nisan 2023
Mesajlar
1,215
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

Forum istatistikleri

Konular
5,978
Mesajlar
101,944
Üyeler
2,514
Son üye
evrenbasaran

Son kaynaklar

Son profil mesajları

deneyci wrote on hakan8470's profile.
Sibonge uNkulunkulu ngokuhlukahluka asinike kona.

Bu hangi dil? :)
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?
gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
Back
Top