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

Çevrimiçi personel

Forum istatistikleri

Konular
5,884
Mesajlar
100,399
Üyeler
2,492
Son üye
alikara3

Son kaynaklar

Son profil mesajları

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.
cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Back
Top