Python üzerinden orta seviyeli hesap makinesi (terminal ile çalışan)

OmarTR2000

Katılımcı Üye
26 May 2022
355
121
Baku
Herkese selam uzun zamandır konu açmıyordum öylesine bir tane açayım dedim belki birinin ihtiyacı olur. Bugün size birkaç dakika önce pratik amaçlı yaptığım terminal üzerinden çalışan orta seviyeli hesab makinesini şimdi sizinle paylaşıcam.

İlk öncelikle bize gereken kütüphaneleri indirelim:

Python:
import math
import os
Bu iki kütüphane yeterli olacaktır.

Şimdi birkaç tane işlem belirleyelim kod için. Ben birkaçtane belirledim:
Python:
def hesapMakinesi_TR():
    print("Gelişmiş Hesap Makinesine Hoş Geldiniz!")
    while True:
        print("\nBir işlem seçin:")
        print("1. Toplama")
        print("2. Çıkarma")
        print("3. Çarpma")
        print("4. Bölme")
        print("5. Üst alma")
        print("6. Karekök")
        print("7. Logaritma")
        print("8. Trigonometrik fonksiyonlar")
        print("9. Çıkış")
        
        secim = input("\nSeçiminizi yapın (1-9): ")

Ve hepsinin yapımını math kütüphanesi sayesinde kolayca yazdım:
Python:
if secim == '9':
            print("\nGelişmiş Hesap Makinesini kullandığınız için teşekkür ederiz!")
            break
        
        if secim in ['1', '2', '3', '4']:
            num1 = float(input("\nİlk sayıyı girin: "))
            num2 = float(input("İkinci sayıyı girin: "))
        
        if secim == '1':
            print(f"\n{num1} + {num2} = {num1 + num2}")
            
        elif secim == '2':
            print(f"\n{num1} - {num2} = {num1 - num2}")
            
        elif secim == '3':
            print(f"\n{num1} * {num2} = {num1 * num2}")
            
        elif secim == '4':
            print(f"\n{num1} / {num2} = {num1 / num2}")
        
        elif secim == '5':
            taban = float(input("\nTaban sayıyı girin: "))
            üs = float(input("Üssü girin: "))
            print(f"\n{taban} üzeri {üs} = {taban ** üs}")

        elif secim == '6':
            num = float(input("\nKarekökünü almak istediğiniz sayıyı girin: "))
            print(f"\n{num} sayısının karekökü = {math.sqrt(num)}")
            
        elif secim == '7':
            num = float(input("\nLogaritmasını almak istediğiniz sayıyı girin: "))
            print(f"\n{num} sayısının doğal logaritması = {math.log(num)}")
            
        elif secim == '8':
            açı = float(input("\nDerece cinsinden açıyı girin: "))
            radyan = math.radians(açı)
            print(f"\nSin({açı}) = {math.sin(radyan)}")
            print(f"Cos({açı}) = {math.cos(radyan)}")
            print(f"Tan({açı}) = {math.tan(radyan)}")
            
        else:
            print("\nGeçersiz seçim! 
Lütfen 1 ile 9 arasında bir sayı seçin.")


En son olarak ingilizce ve Rusça ekleyib dili seçe bileceğimiz bir menu yaptım ve..... Kod burda sonlandı daha gelişmiş yapa bilirsiniz ben öylesine yaptım.

Kodun son hali:
Python:
import math
import os

def giris():
 print("Select your language.")
 print("1. English\n2. Türkçe\n3. Русский")
 secim = input("\n--> ")
 if secim == '1':
  os.system("clear")
  calculator_ENG()
 elif secim == '2':
  os.system("clear")
  hesapMakinesi_TR()
 elif secim == '3':
  os.system("clear")
  калькулятор_RU()

def hesapMakinesi_TR():
    print("Gelişmiş Hesap Makinesine Hoş Geldiniz!")
    while True:
        print("\nBir işlem seçin:")
        print("1. Toplama")
        print("2. Çıkarma")
        print("3. Çarpma")
        print("4. Bölme")
        print("5. Üst alma")
        print("6. Karekök")
        print("7. Logaritma")
        print("8. Trigonometrik fonksiyonlar")
        print("9. Çıkış")
        
        secim = input("\nSeçiminizi yapın (1-9): ")
        
        if secim == '9':
            print("\nGelişmiş Hesap Makinesini kullandığınız için teşekkür ederiz!")
            break
        
        if secim in ['1', '2', '3', '4']:
            num1 = float(input("\nİlk sayıyı girin: "))
            num2 = float(input("İkinci sayıyı girin: "))
        
        if secim == '1':
            print(f"\n{num1} + {num2} = {num1 + num2}")
            
        elif secim == '2':
            print(f"\n{num1} - {num2} = {num1 - num2}")
            
        elif secim == '3':
            print(f"\n{num1} * {num2} = {num1 * num2}")
            
        elif secim == '4':
            print(f"\n{num1} / {num2} = {num1 / num2}")
        
        elif secim == '5':
            taban = float(input("\nTaban sayıyı girin: "))
            üs = float(input("Üssü girin: "))
            print(f"\n{taban} üzeri {üs} = {taban ** üs}")

        elif secim == '6':
            num = float(input("\nKarekökünü almak istediğiniz sayıyı girin: "))
            print(f"\n{num} sayısının karekökü = {math.sqrt(num)}")
            
        elif secim == '7':
            num = float(input("\nLogaritmasını almak istediğiniz sayıyı girin: "))
            print(f"\n{num} sayısının doğal logaritması = {math.log(num)}")
            
        elif secim == '8':
            açı = float(input("\nDerece cinsinden açıyı girin: "))
            radyan = math.radians(açı)
            print(f"\nSin({açı}) = {math.sin(radyan)}")
            print(f"Cos({açı}) = {math.cos(radyan)}")
            print(f"Tan({açı}) = {math.tan(radyan)}")
            
        else:
            print("\nGeçersiz seçim! Lütfen 1 ile 9 arasında bir sayı seçin.")


def calculator_ENG():
    print("Welcome to the Advanced Calculator!")
    while True:
        print("\nSelect an operation:")
        print("1. Addition")
        print("2. Subtraction")
        print("3. Multiplication")
        print("4. Division")
        print("5. Exponentiation")
        print("6. Square Root")
        print("7. Logarithm")
        print("8. Trigonometric functions")
        print("9. Exit")
        
        choice = input("\nEnter your choice (1-9): ")
        
        if choice == '9':
            print("\nThank you for using the Advanced Calculator!")
            break
        
        if choice in ['1', '2', '3', '4']:
            num1 = float(input("\nEnter the first number: "))
            num2 = float(input("Enter the second number: "))
        
        if choice == '1':
            print(f"\n{num1} + {num2} = {num1 + num2}")
            
        elif choice == '2':
            print(f"\n{num1} - {num2} = {num1 - num2}")
            
        elif choice == '3':
            print(f"\n{num1} * {num2} = {num1 * num2}")
            
        elif choice == '4':
            print(f"\n{num1} / {num2} = {num1 / num2}")
        
        elif choice == '5':
            base = float(input("\nEnter the base number: "))
            exponent = float(input("Enter the exponent: "))
            print(f"\n{base} raised to the power of {exponent} = {base ** exponent}")

        elif choice == '6':
            num = float(input("\nEnter the number: "))
            print(f"\nSquare root of {num} = {math.sqrt(num)}")
            
        elif choice == '7':
            num = float(input("\nEnter the number: "))
            print(f"\nNatural logarithm of {num} = {math.log(num)}")
            
        elif choice == '8':
            angle = float(input("\nEnter the angle in degrees: "))
            radian = math.radians(angle)
            print(f"\nSin({angle}) = {math.sin(radian)}")
            print(f"Cos({angle}) = {math.cos(radian)}")
            print(f"Tan({angle}) = {math.tan(radian)}")
            
        else:
            print("\nInvalid choice! Please select a number between 1 and 9.")

def калькулятор_RU():
    print("Добро пожаловать в расширенный калькулятор!")
    while True:
        print("\nВыберите операцию:")
        print("1. Сложение")
        print("2. Вычитание")
        print("3. Умножение")
        print("4. Деление")
        print("5. Возведение в степень")
        print("6. Квадратный корень")
        print("7. Логарифм")
        print("8. Тригонометрические операции")
        print("9. Выход")
        
        выбор = input("\nВыберите операцию (1-9): ")
        
        if выбор == '9':
            print("\nСпасибо за использование расширенного калькулятора!")
            break
        
        if выбор in ['1', '2', '3', '4']:
            num1 = float(input("\nВведите первое число: "))
            num2 = float(input("Введите второе число: "))
        
        if выбор == '1':
            print(f"\n{num1} + {num2} = {num1 + num2}")
            
        elif выбор == '2':
            print(f"\n{num1} - {num2} = {num1 - num2}")
            
        elif выбор == '3':
            print(f"\n{num1} * {num2} = {num1 * num2}")
            
        elif выбор == '4':
            print(f"\n{num1} / {num2} = {num1 / num2}")
        
        elif выбор == '5':
            основание = float(input("\nВведите основание: "))
            степень = float(input("Введите степень: "))
            print(f"\n{основание} в степени {степень} = {основание ** степень}")

        elif выбор == '6':
            число = float(input("\nВведите число для извлечения квадратного корня: "))
            print(f"\nКвадратный корень из {число} = {math.sqrt(число)}")
            
        elif выбор == '7':
            число = float(input("\nВведите число для вычисления логарифма: "))
            print(f"\nЕстественный логарифм числа {число} = {math.log(число)}")
            
        elif выбор == '8':
            угол = float(input("\nВведите угол в градусах: "))
            радианы = math.radians(угол)
            print(f"\nСинус({угол}) = {math.sin(радианы)}")
            print(f"Косинус({угол}) = {math.cos(радианы)}")
            print(f"Тангенс({угол}) = {math.tan(радианы)}")
            
        else:
            print("\nНедопустимый выбор! Пожалуйста, выберите число от 1 до 9.")


giris()

Biliyorum fazla amatörce olmuş XD
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.