Python’da Sayılar ve Matematiksel İşlemler: Currency Exchange Alıştırması


Soru 1: Döviz Çevirme

Bir müşterinin elindeki parayı başka bir para birimine çevirmek istiyoruz.

Örnek:

  • Bütçe: 127.50 USD
  • Kur: 1.20

Fonksiyonu tamamlayın:

def exchange_money(budget, exchange_rate):
return ________

İpucu:

127.50 doların kaç Euro edeceğini bulmak için hangi matematiksel işlem gerekir?


Soru 2: Para Üstü Hesaplama

Bir müşteri bütçesinin sadece bir kısmını bozduruyor.

Örnek:

  • Toplam para: 127.50
  • Bozdurulan miktar: 120

Fonksiyonu tamamlayın:

def get_change(budget, exchanging_value):
return ________

İpucu:

Kalan miktarı bulmak için hangi operatörü kullanırsınız?


Soru 3: Banknotların Toplam Değeri

Elinizde:

  • 128 adet banknot
  • Her biri 5 Euro

Fonksiyonu tamamlayın:

def get_value_of_bills(denomination, number_of_bills):
return ________

İpucu:

Toplam değeri nasıl hesaplarsınız?


Soru 4: Kaç Adet Banknot Verilebilir?

Bir müşterinin 127 Euro’su var.

Döviz bürosunda yalnızca 20 Euro’luk banknotlar bulunuyor.

Fonksiyonu tamamlayın:

def get_number_of_bills(amount, denomination):
return ________

İpucu:

Yarım banknot verilemeyeceği için hangi bölme operatörünü kullanmanız gerekir?


Soru 5: Kalan Küsuratı Bulma

127 Euro’nun 20 Euro’luk banknotlara ayrıldığını düşünün.

Tam banknotlar verildikten sonra kaç Euro kalır?

Fonksiyonu tamamlayın:

def get_leftover_of_bills(amount, denomination):
return ________

İpucu:

Python’da kalan bulmak için hangi operatör kullanılır?


Soru 6: Komisyonlu Döviz Kuru

Bir döviz bürosu %10 komisyon alıyor.

Normal kur:

exchange_rate = 1.20

Gerçek kuru hesaplayan satırı tamamlayın:

actual_rate = ______________________

İpucu:

Önce komisyon oranını hesaplayın, sonra kuru artırın.


Soru 7: Alınabilecek Döviz Miktarı

Aşağıdaki fonksiyonda eksik satırları tamamlayın:

def exchangeable_value(
budget,
exchange_rate,
spread,
denomination
):
actual_rate = ______________________
exchanged_amount = ______________________
number_of_bills = ______________________
return ______________________

Amaç:

Komisyon uygulandıktan sonra müşteriye verilebilecek toplam tam banknot değerini hesaplamak.


Çözümler

Çözüm 1

def exchange_money(budget, exchange_rate):
return budget / exchange_rate

Çözüm 2

def get_change(budget, exchanging_value):
return budget - exchanging_value

Çözüm 3

def get_value_of_bills(denomination, number_of_bills):
return denomination * number_of_bills

Çözüm 4

def get_number_of_bills(amount, denomination):
return amount // denomination

Çözüm 5

def get_leftover_of_bills(amount, denomination):
return amount % denomination

Çözüm 6

actual_rate = exchange_rate * (1 + spread / 100)

Çözüm 7

def exchangeable_value(
budget,
exchange_rate,
spread,
denomination
):
actual_rate = exchange_rate * (1 + spread / 100)
exchanged_amount = budget / actual_rate
number_of_bills = exchanged_amount // denomination
return int(number_of_bills * denomination)

Bu Alıştırmada Öğrendiklerimiz

Bu çalışma sayesinde aşağıdaki Python konularını uygulamalı olarak kullanmış olduk:

  • Fonksiyonlar
  • Parametreler
  • Ondalıklı sayılar (float)
  • Bölme (/)
  • Tam sayı bölmesi (//)
  • Kalan bulma (%)
  • Çarpma (*)
  • Çıkarma (-)
  • Yüzde hesaplama
  • Finansal hesaplamaların temelleri

Gerçek hayattaki birçok finans, muhasebe ve raporlama uygulaması bu temel matematiksel işlemler üzerine kuruludur.

Kaynak: https://exercism.org/tracks/python/exercises/currency-exchange

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.