{"id":43992,"date":"2026-08-10T21:00:35","date_gmt":"2026-08-10T18:00:35","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/"},"modified":"2026-08-10T21:00:51","modified_gmt":"2026-08-10T18:00:51","slug":"python-ile-hesap-makinesi-yapimi-adim-adim-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/","title":{"rendered":"Python ile Hesap Makinesi Yap\u0131m\u0131: Ad\u0131m Ad\u0131m Rehber"},"content":{"rendered":"<h2>Python ile Hesap Makinesi Yap\u0131m\u0131: Ad\u0131m Ad\u0131m Rehber<\/h2>\n<p>Python&#8217;da basit bir hesap makinesi nas\u0131l yap\u0131l\u0131r? Bu rehberle temel aritmetik i\u015flemlerden daha fazlas\u0131n\u0131 i\u00e7eren bir hesap makinesi olu\u015fturmay\u0131 \u00f6\u011frenin. Kodu ad\u0131m ad\u0131m inceleyip, kendi projelerinize uyarlay\u0131n.<\/p>\n<h2>Neden Python ile Hesap Makinesi Yapmal\u0131y\u0131z?<\/h2>\n<p>G\u00fcn\u00fcm\u00fczde yaz\u0131l\u0131m geli\u015ftirme d\u00fcnyas\u0131, hayat\u0131m\u0131z\u0131 kolayla\u015ft\u0131ran say\u0131s\u0131z ara\u00e7 ve uygulama sunuyor. Bu ara\u00e7lardan biri de basit gibi g\u00f6r\u00fcnen ancak temel programlama mant\u0131\u011f\u0131n\u0131 anlamak i\u00e7in harika bir ba\u015flang\u0131\u00e7 noktas\u0131 olu\u015fturan hesap makinesi uygulamalar\u0131d\u0131r. Peki, neden \u00f6zellikle Python ile bir hesap makinesi yapmal\u0131y\u0131z? Python, okunabilirli\u011fi y\u00fcksek, \u00f6\u011frenmesi kolay ve olduk\u00e7a g\u00fc\u00e7l\u00fc bir programlama dilidir. Bu \u00f6zellikleri sayesinde, programlamaya yeni ba\u015flayanlar i\u00e7in bile karma\u015f\u0131k g\u00f6r\u00fcnen bir projeyi anla\u015f\u0131l\u0131r ve y\u00f6netilebilir hale getirir. Bir hesap makinesi projesi, de\u011fi\u015fkenler, veri tipleri, operat\u00f6rler, ko\u015fullu ifadeler (if-else), d\u00f6ng\u00fcler (loops) ve fonksiyonlar gibi temel programlama kavramlar\u0131n\u0131 pratik etme f\u0131rsat\u0131 sunar. Dahas\u0131, bu projeyi geli\u015ftirerek, kullan\u0131c\u0131 aray\u00fcz\u00fc (GUI &#8211; Graphical User Interface) tasarlama, hata y\u00f6netimi (error handling) ve hatta daha ileri d\u00fczey matematiksel fonksiyonlar\u0131 entegre etme gibi konularda da bilgi sahibi olabilirsiniz. Bu makalede, Python&#8217;da s\u0131f\u0131rdan bir hesap makinesi olu\u015fturman\u0131n t\u00fcm inceliklerini ad\u0131m ad\u0131m ele alaca\u011f\u0131z. Ba\u015flang\u0131\u00e7 seviyesinden orta seviyeye kadar her t\u00fcrden geli\u015ftiriciye hitap edecek \u015fekilde, hem temel hem de daha geli\u015fmi\u015f \u00f6zelliklere sahip bir hesap makinesi yap\u0131m\u0131n\u0131 a\u00e7\u0131klayaca\u011f\u0131z. Bu yolculuk boyunca, kod \u00f6rnekleriyle birlikte kavramlar\u0131 peki\u015ftirecek ve ger\u00e7ek d\u00fcnya senaryolar\u0131nda bu bilgileri nas\u0131l kullanabilece\u011finizi g\u00f6receksiniz. Unutmay\u0131n, her b\u00fcy\u00fck proje k\u00fc\u00e7\u00fck ad\u0131mlarla ba\u015flar ve bir hesap makinesi, bu ad\u0131mlar\u0131 atmak i\u00e7in m\u00fckemmel bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r.<\/p>\n<h2>Temel Python Bilgileri: Hesap Makinesi \u0130\u00e7in Gerekli Temeller<\/h2>\n<p>Python ile bir hesap makinesi olu\u015fturmaya ba\u015flamadan \u00f6nce, baz\u0131 temel programlama kavramlar\u0131n\u0131 ve Python&#8217;\u0131n bu kavramlar\u0131 nas\u0131l ele ald\u0131\u011f\u0131n\u0131 anlamam\u0131z gerekiyor. Bu b\u00f6l\u00fcm, konuya tamamen yabanc\u0131 olanlar i\u00e7in bir \u00f6n haz\u0131rl\u0131k niteli\u011findedir. \u00d6ncelikle, Python&#8217;da verileri depolamak ve i\u015flemek i\u00e7in kulland\u0131\u011f\u0131m\u0131z <strong>de\u011fi\u015fkenler<\/strong>den (variables) bahsedelim. De\u011fi\u015fkenler, bir de\u011ferin adland\u0131r\u0131lm\u0131\u015f bir konteyneridir. \u00d6rne\u011fin, bir say\u0131y\u0131 saklamak i\u00e7in <code>sayi1 = 10<\/code> gibi bir ifade kullanabiliriz. Python&#8217;da veri tipleri (data types) olduk\u00e7a \u00e7e\u015fitlidir. Hesap makinesi i\u00e7in en s\u0131k kullanaca\u011f\u0131m\u0131z veri tipleri aras\u0131nda <strong>tamsay\u0131lar<\/strong> (integers, \u00f6rn: 5, -10), <strong>ondal\u0131kl\u0131 say\u0131lar<\/strong> (floating-point numbers, \u00f6rn: 3.14, -0.5) ve <strong>metinler<\/strong> (strings, \u00f6rn: &#8220;Merhaba D\u00fcnya&#8221;) bulunur. Kullan\u0131c\u0131dan girdi al\u0131rken genellikle metin olarak al\u0131r\u0131z ve bunlar\u0131 matematiksel i\u015flemlerde kullanabilmek i\u00e7in say\u0131sal veri tiplerine d\u00f6n\u00fc\u015ft\u00fcrmemiz gerekir. \u0130\u015fte burada <code>int()<\/code> ve <code>float()<\/code> gibi fonksiyonlar devreye girer. Python&#8217;daki <strong>operat\u00f6rler<\/strong> (operators) ise matematiksel ve mant\u0131ksal i\u015flemler yapmam\u0131z\u0131 sa\u011flar. Temel matematiksel operat\u00f6rler \u015funlard\u0131r: toplama (<code>+<\/code>), \u00e7\u0131karma (<code>-<\/code>), \u00e7arpma (<code>*<\/code>), b\u00f6lme (<code>\/<\/code>), tam b\u00f6lme (<code>\/\/<\/code>), mod alma (<code>%<\/code>) ve \u00fcs alma (<code>**<\/code>). \u00d6rne\u011fin, <code>sonuc = sayi1 + sayi2<\/code> ifadesi, <code>sayi1<\/code> ve <code>sayi2<\/code> de\u011fi\u015fkenlerinin de\u011ferlerini toplar ve sonucu <code>sonuc<\/code> de\u011fi\u015fkenine atar. Program ak\u0131\u015f\u0131n\u0131 kontrol etmek i\u00e7in kulland\u0131\u011f\u0131m\u0131z <strong>ko\u015fullu ifadeler<\/strong> (conditional statements), belirli bir ko\u015ful do\u011fru oldu\u011funda belirli bir kod blo\u011funu \u00e7al\u0131\u015ft\u0131rmam\u0131z\u0131 sa\u011flar. En yayg\u0131n kullan\u0131lan\u0131 <code>if<\/code>, <code>elif<\/code> (else if) ve <code>else<\/code> yap\u0131lar\u0131d\u0131r. \u00d6rne\u011fin, <code>if islem == \"+\":<\/code> diyerek, e\u011fer <code>islem<\/code> de\u011fi\u015fkeninin de\u011feri &#8220;+&#8221; ise \u015fu kodlar\u0131 \u00e7al\u0131\u015ft\u0131r diyebiliriz. Son olarak, tekrarlayan g\u00f6revleri otomatikle\u015ftirmek i\u00e7in <strong>d\u00f6ng\u00fcler<\/strong> (loops) kullan\u0131l\u0131r. <code>for<\/code> ve <code>while<\/code> d\u00f6ng\u00fcleri, belirli bir ko\u015ful sa\u011flanana kadar veya belirli bir dizi \u00fczerinde d\u00f6ng\u00fc yapmam\u0131z\u0131 sa\u011flar. Hesap makinesi yap\u0131m\u0131nda bu temel yap\u0131 ta\u015flar\u0131, kullan\u0131c\u0131dan al\u0131nan komutlar\u0131 i\u015flemek, i\u015flemleri ger\u00e7ekle\u015ftirmek ve sonu\u00e7lar\u0131 g\u00f6stermek i\u00e7in hayati \u00f6neme sahiptir. Bu kavramlar\u0131 sa\u011flam bir \u015fekilde anlad\u0131\u011f\u0131n\u0131zda, hesap makinesi projemize rahatl\u0131kla ba\u015flayabiliriz.<\/p>\n<h2>Ad\u0131m 1: Kullan\u0131c\u0131dan Girdi Alma ve Basit \u0130\u015flemler<\/h2>\n<p>Hesap makinemizin ilk ad\u0131m\u0131, kullan\u0131c\u0131dan gerekli bilgileri almakt\u0131r. Bu bilgiler genellikle iki say\u0131y\u0131 ve yap\u0131lacak i\u015flemi i\u00e7erir. Python&#8217;da kullan\u0131c\u0131dan girdi almak i\u00e7in <code>input()<\/code> fonksiyonunu kullan\u0131r\u0131z. Ancak <code>input()<\/code> fonksiyonu her zaman girdiyi metin (string) olarak al\u0131r. Bu nedenle, say\u0131sal i\u015flemler yapabilmek i\u00e7in bu metin girdilerini say\u0131sal veri tiplerine (tamsay\u0131 veya ondal\u0131kl\u0131 say\u0131) d\u00f6n\u00fc\u015ft\u00fcrmemiz gerekir. \u00d6rne\u011fin, kullan\u0131c\u0131dan ilk say\u0131y\u0131 almak i\u00e7in \u015fu kodu kullanabiliriz:<\/p>\n<pre><code>\nsayi1_str = input(\"\u0130lk say\u0131y\u0131 girin: \")\nsayi1 = float(sayi1_str)\n    <\/code><\/pre>\n<p>Burada, <code>input()<\/code> ile al\u0131nan de\u011fer <code>sayi1_str<\/code> adl\u0131 bir de\u011fi\u015fkene atan\u0131r. Ard\u0131ndan, <code>float()<\/code> fonksiyonu kullan\u0131larak bu metin, ondal\u0131kl\u0131 say\u0131ya d\u00f6n\u00fc\u015ft\u00fcr\u00fcl\u00fcr ve <code>sayi1<\/code> de\u011fi\u015fkenine atan\u0131r. Bu i\u015flem, ikinci say\u0131 i\u00e7in de tekrarlan\u0131r. Daha sonra, hangi i\u015flemin yap\u0131laca\u011f\u0131n\u0131 belirlemek i\u00e7in kullan\u0131c\u0131dan bir i\u015flem sembol\u00fc (\u00f6rne\u011fin &#8216;+&#8217;, &#8216;-&#8216;, &#8216;*&#8217;, &#8216;\/&#8217;) al\u0131r\u0131z:<\/p>\n<pre><code>\nislem = input(\"Yapmak istedi\u011finiz i\u015flemi girin (+, -, *, \/): \")\n    <\/code><\/pre>\n<p>\u015eimdi elimizde iki say\u0131 ve yap\u0131lacak i\u015flem var. Bu bilgileri kullanarak temel aritmetik i\u015flemleri ger\u00e7ekle\u015ftirebiliriz. Bunun i\u00e7in ko\u015fullu ifadeler (if-elif-else) en uygun yap\u0131d\u0131r. Kullan\u0131c\u0131n\u0131n girdi\u011fi i\u015fleme g\u00f6re farkl\u0131 bloklardaki kodlar \u00e7al\u0131\u015facakt\u0131r:<\/p>\n<pre><code>\nif islem == '+':\n    sonuc = sayi1 + sayi2\nelif islem == '-':\n    sonuc = sayi1 - sayi2\nelif islem == '*':\n    sonuc = sayi1 * sayi2\nelif islem == '\/':\n    # B\u00f6lme i\u015fleminde s\u0131f\u0131ra b\u00f6lme hatas\u0131n\u0131 kontrol etmek \u00f6nemlidir.\n    if sayi2 != 0:\n        sonuc = sayi1 \/ sayi2\n    else:\n        sonuc = \"Hata: S\u0131f\u0131ra b\u00f6lme yap\u0131lamaz.\"\nelse:\n    sonuc = \"Ge\u00e7ersiz i\u015flem girdiniz.\"\n    <\/code><\/pre>\n<p>Bu kod blo\u011fu, kullan\u0131c\u0131n\u0131n girdi\u011fi <code>islem<\/code> de\u011ferini kontrol eder. E\u011fer toplama ise toplama i\u015flemini yapar, \u00e7\u0131karma ise \u00e7\u0131karma i\u015flemini yapar ve bu \u015fekilde devam eder. \u00d6zellikle b\u00f6lme i\u015flemi i\u00e7in, <code>sayi2<\/code>&#8216;nin s\u0131f\u0131r olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek \u00e7ok \u00f6nemlidir. S\u0131f\u0131ra b\u00f6lme, program\u0131n \u00e7\u00f6kmesine neden olabilecek bir hatad\u0131r. Bu kontrol ile kullan\u0131c\u0131ya uygun bir hata mesaj\u0131 g\u00f6sterilir. Son olarak, hesaplanan <code>sonuc<\/code> ekrana yazd\u0131r\u0131l\u0131r:<\/p>\n<pre><code>\nprint(\"Sonu\u00e7:\", sonuc)\n    <\/code><\/pre>\n<p>Bu ilk ad\u0131m, basit bir hesap makinesinin temel mant\u0131\u011f\u0131n\u0131 olu\u015fturur. Kullan\u0131c\u0131dan girdi almay\u0131, verileri d\u00f6n\u00fc\u015ft\u00fcrmeyi ve temel matematiksel i\u015flemleri ko\u015fullu ifadelerle ger\u00e7ekle\u015ftirmeyi \u00f6\u011frenmi\u015f olduk. Bu basit yap\u0131, daha karma\u015f\u0131k \u00f6zellikler eklemek i\u00e7in sa\u011flam bir temel olu\u015fturur.<\/p>\n<h2>Ad\u0131m 2: Fonksiyonlar ile Kodu D\u00fczenleme ve Tekrar Kullan\u0131labilirlik<\/h2>\n<p>\u0130lk ad\u0131mda olu\u015fturdu\u011fumuz kod, i\u015flevsel olsa da, daha organize ve tekrar kullan\u0131labilir hale getirmek i\u00e7in fonksiyonlardan yararlanabiliriz. Fonksiyonlar (functions), belirli bir g\u00f6revi yerine getiren yeniden kullan\u0131labilir kod bloklar\u0131d\u0131r. Bu, kodumuzun daha okunabilir olmas\u0131n\u0131 sa\u011flar ve ayn\u0131 kod par\u00e7as\u0131n\u0131 tekrar tekrar yazmaktan ka\u00e7\u0131nmam\u0131za yard\u0131mc\u0131 olur. Hesap makinesi projemizde, her bir matematiksel i\u015flem i\u00e7in ayr\u0131 bir fonksiyon tan\u0131mlayabiliriz. \u00d6rne\u011fin, toplama i\u015flemi i\u00e7in bir fonksiyon:<\/p>\n<pre><code>\ndef topla(a, b):\n    \"\"\"\u0130ki say\u0131y\u0131 toplar ve sonucu d\u00f6nd\u00fcr\u00fcr.\"\"\"\n    return a + b\n    <\/code><\/pre>\n<p>Bu <code>topla<\/code> fonksiyonu, iki arg\u00fcman (<code>a<\/code> ve <code>b<\/code>) al\u0131r, bunlar\u0131 toplar ve sonucu <code>return<\/code> anahtar kelimesi ile geri d\u00f6nd\u00fcr\u00fcr. Benzer \u015fekilde, \u00e7\u0131karma, \u00e7arpma ve b\u00f6lme i\u015flemleri i\u00e7in de fonksiyonlar tan\u0131mlayabiliriz:<\/p>\n<pre><code>\ndef cikar(a, b):\n    \"\"\"\u0130ki say\u0131y\u0131 \u00e7\u0131kar\u0131r ve sonucu d\u00f6nd\u00fcr\u00fcr.\"\"\"\n    return a - b\n\ndef carp(a, b):\n    \"\"\"\u0130ki say\u0131y\u0131 \u00e7arpar ve sonucu d\u00f6nd\u00fcr\u00fcr.\"\"\"\n    return a * b\n\ndef bol(a, b):\n    \"\"\"\u0130ki say\u0131y\u0131 b\u00f6ler ve sonucu d\u00f6nd\u00fcr\u00fcr. S\u0131f\u0131ra b\u00f6lme kontrol\u00fc i\u00e7erir.\"\"\"\n    if b != 0:\n        return a \/ b\n    else:\n        return \"Hata: S\u0131f\u0131ra b\u00f6lme yap\u0131lamaz.\"\n    <\/code><\/pre>\n<p>Fonksiyonlar\u0131 tan\u0131mlad\u0131ktan sonra, ana program ak\u0131\u015f\u0131m\u0131zda bu fonksiyonlar\u0131 \u00e7a\u011f\u0131rabiliriz. Kullan\u0131c\u0131dan al\u0131nan i\u015flem tipine g\u00f6re ilgili fonksiyon \u00e7a\u011fr\u0131lacakt\u0131r:<\/p>\n<pre><code>\n# Kullan\u0131c\u0131dan girdi alma k\u0131sm\u0131 ayn\u0131 kal\u0131r...\n\nif islem == '+':\n    sonuc = topla(sayi1, sayi2)\nelif islem == '-':\n    sonuc = cikar(sayi1, sayi2)\nelif islem == '*':\n    sonuc = carp(sayi1, sayi2)\nelif islem == '\/':\n    sonuc = bol(sayi1, sayi2)\nelse:\n    sonuc = \"Ge\u00e7ersiz i\u015flem girdiniz.\"\n\nprint(\"Sonu\u00e7:\", sonuc)\n    <\/code><\/pre>\n<p>Fonksiyonlar kullanmak, kodumuzun mod\u00fclerli\u011fini art\u0131r\u0131r. \u00d6rne\u011fin, ileride daha karma\u015f\u0131k bir matematiksel fonksiyon eklemek istedi\u011fimizde, sadece yeni bir fonksiyon tan\u0131mlay\u0131p ana program ak\u0131\u015f\u0131m\u0131za entegre etmemiz yeterli olacakt\u0131r. Bu, kodun bak\u0131m\u0131n\u0131 kolayla\u015ft\u0131r\u0131r ve hata ay\u0131klama (debugging) s\u00fcrecini h\u0131zland\u0131r\u0131r. Ayr\u0131ca, bu fonksiyonlar\u0131 ba\u015fka projelerde de kullanma imkan\u0131 bulabiliriz. Fonksiyonel programlama yakla\u015f\u0131m\u0131, yaz\u0131l\u0131m geli\u015ftirmenin temel ta\u015flar\u0131ndan biridir ve hesap makinesi gibi projelerde bu prensipleri uygulamak, iyi bir programlama al\u0131\u015fkanl\u0131\u011f\u0131 kazand\u0131r\u0131r.<\/p>\n<h2>Ad\u0131m 3: D\u00f6ng\u00fcler ile S\u00fcrekli Hesaplama \u0130mkan\u0131<\/h2>\n<p>Mevcut hesap makinemiz, yaln\u0131zca tek bir i\u015flem yapabiliyor. Kullan\u0131c\u0131n\u0131n birden fazla i\u015flem yapmak istemesi durumunda, program\u0131 kapat\u0131p tekrar a\u00e7mas\u0131 gerekiyor. Bunu a\u015fmak ve kullan\u0131c\u0131ya s\u00fcrekli bir hesaplama deneyimi sunmak i\u00e7in d\u00f6ng\u00fclerden (loops) yararlanabiliriz. En uygun d\u00f6ng\u00fc yap\u0131s\u0131, belirli bir ko\u015ful sa\u011flanana kadar kod blo\u011funu tekrarlayan <code>while<\/code> d\u00f6ng\u00fcs\u00fcd\u00fcr. Program\u0131n ana ak\u0131\u015f\u0131n\u0131 bir <code>while True:<\/code> d\u00f6ng\u00fcs\u00fcne alarak, kullan\u0131c\u0131 \u00e7\u0131k\u0131\u015f komutu verene kadar hesaplamalar\u0131n devam etmesini sa\u011flayabiliriz.<\/p>\n<pre><code>\nwhile True:\n    # Kullan\u0131c\u0131dan girdi alma ve i\u015flem yapma kodlar\u0131 buraya gelecek\n    # ...\n\n    devam_mi = input(\"Ba\u015fka bir i\u015flem yapmak ister misiniz? (evet\/hay\u0131r): \")\n    if devam_mi.lower() != 'evet':\n        print(\"Hesap makinesinden \u00e7\u0131k\u0131l\u0131yor. G\u00fcle g\u00fcle!\")\n        break # D\u00f6ng\u00fcden \u00e7\u0131k\u0131\u015f\n    <\/code><\/pre>\n<p>Yukar\u0131daki \u00f6rnekte, <code>while True:<\/code> d\u00f6ng\u00fcs\u00fc, program\u0131n s\u00fcrekli \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar. Her i\u015flem tamamland\u0131ktan sonra, kullan\u0131c\u0131ya ba\u015fka bir i\u015flem yap\u0131p yapmayaca\u011f\u0131 sorulur. E\u011fer kullan\u0131c\u0131 &#8220;evet&#8221; d\u0131\u015f\u0131nda bir yan\u0131t verirse (k\u00fc\u00e7\u00fck\/b\u00fcy\u00fck harf duyarl\u0131l\u0131\u011f\u0131 olmamas\u0131 i\u00e7in <code>.lower()<\/code> metodu kullan\u0131l\u0131r), &#8220;G\u00fcle g\u00fcle!&#8221; mesaj\u0131 g\u00f6sterilir ve <code>break<\/code> komutu ile d\u00f6ng\u00fcden \u00e7\u0131k\u0131l\u0131r. Bu sayede, kullan\u0131c\u0131 istedi\u011fi kadar hesaplama yapabilir ve ancak istedi\u011finde programdan \u00e7\u0131kabilir. D\u00f6ng\u00fc yap\u0131s\u0131n\u0131, \u00f6nceki ad\u0131mlarda tan\u0131mlad\u0131\u011f\u0131m\u0131z fonksiyonlarla birlikte kullanabiliriz. Bu, hem kodu d\u00fczenli tutar hem de s\u00fcrekli \u00e7al\u0131\u015fma imkan\u0131 sa\u011flar.<\/p>\n<pre><code>\ndef topla(a, b):\n    return a + b\n\ndef cikar(a, b):\n    return a - b\n\ndef carp(a, b):\n    return a * b\n\ndef bol(a, b):\n    if b != 0:\n        return a \/ b\n    else:\n        return \"Hata: S\u0131f\u0131ra b\u00f6lme yap\u0131lamaz.\"\n\nwhile True:\n    try: # Hata y\u00f6netimi i\u00e7in try-except blo\u011fu\n        sayi1_str = input(\"\u0130lk say\u0131y\u0131 girin (veya \u00e7\u0131kmak i\u00e7in '\u00e7\u0131k\u0131\u015f'): \")\n        if sayi1_str.lower() == '\u00e7\u0131k\u0131\u015f':\n            break\n        sayi1 = float(sayi1_str)\n\n        islem = input(\"Yapmak istedi\u011finiz i\u015flemi girin (+, -, *, \/): \")\n\n        sayi2_str = input(\"\u0130kinci say\u0131y\u0131 girin: \")\n        sayi2 = float(sayi2_str)\n\n        sonuc = None # Sonu\u00e7 de\u011fi\u015fkenini ba\u015flat\u0131yoruz\n\n        if islem == '+':\n            sonuc = topla(sayi1, sayi2)\n        elif islem == '-':\n            sonuc = cikar(sayi1, sayi2)\n        elif islem == '*':\n            sonuc = carp(sayi1, sayi2)\n        elif islem == '\/':\n            sonuc = bol(sayi1, sayi2)\n        else:\n            print(\"Ge\u00e7ersiz i\u015flem girdiniz.\")\n\n        if sonuc is not None:\n            print(\"Sonu\u00e7:\", sonuc)\n\n    except ValueError:\n        print(\"Ge\u00e7ersiz giri\u015f. L\u00fctfen say\u0131sal de\u011ferler girin.\")\n    except Exception as e:\n        print(f\"Beklenmeyen bir hata olu\u015ftu: {e}\")\n\n    print(\"-\" * 20) # Ay\u0131r\u0131c\u0131 \u00e7izgi\n\nprint(\"Hesap makinesinden \u00e7\u0131k\u0131l\u0131yor. G\u00fcle g\u00fcle!\")\n    <\/code><\/pre>\n<p>Bu geli\u015ftirilmi\u015f kodda, <code>try-except<\/code> bloklar\u0131 eklenmi\u015ftir. Bu, kullan\u0131c\u0131 ge\u00e7ersiz bir giri\u015f yapt\u0131\u011f\u0131nda (\u00f6rne\u011fin, say\u0131 yerine harf girdi\u011finde) program\u0131n \u00e7\u00f6kmesini engeller. <code>ValueError<\/code>, say\u0131sal d\u00f6n\u00fc\u015f\u00fcm s\u0131ras\u0131nda bir hata olu\u015ftu\u011funda yakalan\u0131r. Bu, kullan\u0131c\u0131 deneyimini \u00f6nemli \u00f6l\u00e7\u00fcde iyile\u015ftirir. D\u00f6ng\u00fc yap\u0131s\u0131 ve hata y\u00f6netimi ile hesap makinemiz daha sa\u011flam ve kullan\u0131c\u0131 dostu hale gelmi\u015ftir.<\/p>\n<h2>Vaka Analizi: Basit Bir Hesap Makinesinin Ticari \u00d6nemi<\/h2>\n<p>Basit bir hesap makinesi projesi ilk bak\u0131\u015fta sadece bir \u00f6\u011frenme arac\u0131 gibi g\u00f6r\u00fcnebilir. Ancak, bu temel yap\u0131lar\u0131n arkas\u0131nda yatan mant\u0131k, bir\u00e7ok ticari uygulaman\u0131n temelini olu\u015fturur. \u00d6rne\u011fin, bir e-ticaret sitesindeki sepet tutar\u0131n\u0131 hesaplama, bir finans uygulamas\u0131nda yat\u0131r\u0131m getirilerini \u00f6ng\u00f6rme veya bir m\u00fchendislik yaz\u0131l\u0131m\u0131nda karma\u015f\u0131k hesaplamalar yapma gibi senaryolarda, asl\u0131nda bu basit hesap makinesi mant\u0131\u011f\u0131n\u0131n \u00e7ok daha geli\u015fmi\u015f versiyonlar\u0131 kullan\u0131l\u0131r. Bir perakende i\u015fletmesi, stok takibi yaparken veya indirimleri hesaplarken basit bir hesap makinesi mant\u0131\u011f\u0131ndan faydalan\u0131r. Bir emlak dan\u0131\u015fman\u0131, kredi taksitlerini veya potansiyel kar marj\u0131n\u0131 hesaplamak i\u00e7in bu t\u00fcr ara\u00e7lar\u0131 kullanabilir. Hatta bir \u00f6\u011frenci, \u00f6devlerini yaparken veya s\u0131navlara haz\u0131rlan\u0131rken bu temel matematiksel i\u015flemleri h\u0131zl\u0131ca ger\u00e7ekle\u015ftirmek i\u00e7in mobil cihazlar\u0131ndaki veya bilgisayar\u0131ndaki hesap makinesi uygulamalar\u0131na g\u00fcvenir. Bu projeyi tamamlad\u0131\u011f\u0131n\u0131zda, asl\u0131nda dijital d\u00fcnyada kar\u015f\u0131la\u015ft\u0131\u011f\u0131n\u0131z bir\u00e7ok temel hesaplama i\u015fleminin nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131na dair derin bir anlay\u0131\u015f kazanm\u0131\u015f olursunuz. Bu anlay\u0131\u015f, daha karma\u015f\u0131k yaz\u0131l\u0131mlar geli\u015ftirirken veya mevcut sistemleri analiz ederken size b\u00fcy\u00fck bir avantaj sa\u011flar. \u00d6rne\u011fin, bir mobil uygulama geli\u015ftiricisinin, kullan\u0131c\u0131lar\u0131n g\u00fcnl\u00fck ihtiya\u00e7lar\u0131n\u0131 kar\u015f\u0131layacak basit bir &#8220;fatura ay\u0131r\u0131c\u0131&#8221; uygulamas\u0131 tasarlamas\u0131 d\u00fc\u015f\u00fcn\u00fclebilir. Bu uygulama, bir grup arkada\u015f\u0131n restoran faturas\u0131n\u0131 kolayca b\u00f6l\u00fc\u015fmesini sa\u011flar. Bu t\u00fcr bir uygulaman\u0131n temelinde, kullan\u0131c\u0131lar\u0131n girdi\u011fi toplam tutar\u0131 ve ki\u015fi say\u0131s\u0131n\u0131 al\u0131p b\u00f6lme i\u015flemini ger\u00e7ekle\u015ftiren bir mant\u0131k yatar. Bu, bizim geli\u015ftirdi\u011fimiz hesap makinesinin en temel i\u015flevlerinden biridir. Dolay\u0131s\u0131yla, bu projeyi ciddiye almak, sadece bir kodlama egzersizi olman\u0131n \u00f6tesinde, dijital \u00fcr\u00fcn geli\u015ftirme d\u00fcnyas\u0131na at\u0131lan sa\u011flam bir ad\u0131m anlam\u0131na gelir.<\/p>\n<h2>\u0130leri D\u00fczey: Daha Fazla \u00d6zellik ve Kullan\u0131c\u0131 Deneyimi<\/h2>\n<p>Temel bir hesap makinesi olu\u015fturduktan sonra, onu daha da geli\u015ftirmek ve daha geli\u015fmi\u015f \u00f6zellikler eklemek isteyebiliriz. Bu, hem programlama becerilerimizi ilerletmemize hem de daha kullan\u0131\u015fl\u0131 bir ara\u00e7 yaratmam\u0131za olanak tan\u0131r. \u0130lk olarak, <strong>bilimsel hesap makinesi<\/strong> (scientific calculator) \u00f6zelliklerini ekleyebiliriz. Bu, trigonometrik fonksiyonlar (sin\u00fcs, kosin\u00fcs, tanjant), logaritma, \u00fcs alma gibi daha karma\u015f\u0131k matematiksel i\u015flemleri i\u00e7erebilir. Python&#8217;\u0131n <code>math<\/code> mod\u00fcl\u00fc, bu t\u00fcr fonksiyonlara eri\u015fim sa\u011flar. \u00d6rne\u011fin, sin\u00fcs fonksiyonunu kullanmak i\u00e7in <code>import math<\/code> sat\u0131r\u0131n\u0131 ekleyip <code>math.sin(a\u00e7\u0131)<\/code> \u015feklinde kullanabiliriz. Ancak, bu fonksiyonlar\u0131 kullanabilmek i\u00e7in a\u00e7\u0131lar\u0131n radyan cinsinden olmas\u0131 gerekti\u011fini unutmamal\u0131y\u0131z. Kullan\u0131c\u0131dan derece cinsinden girdi al\u0131p bunu radyana \u00e7eviren ek bir fonksiyon yazmak gerekebilir. \u0130kinci olarak, kullan\u0131c\u0131 deneyimini iyile\u015ftirmek ad\u0131na bir <strong>grafiksel kullan\u0131c\u0131 aray\u00fcz\u00fc<\/strong> (GUI &#8211; Graphical User Interface) olu\u015fturabiliriz. Metin tabanl\u0131 bir aray\u00fcz yerine, d\u00fc\u011fmeleri ve ekran\u0131 olan g\u00f6rsel bir aray\u00fcz, kullan\u0131c\u0131lar\u0131n hesap makinesini kullanmas\u0131n\u0131 \u00e7ok daha kolay ve sezgisel hale getirir. Python&#8217;da GUI geli\u015ftirmek i\u00e7in <code>Tkinter<\/code> (Python ile birlikte gelir), <code>PyQt<\/code> veya <code>Kivy<\/code> gibi k\u00fct\u00fcphaneler kullan\u0131labilir. <code>Tkinter<\/code>, ba\u015flamak i\u00e7in en kolay se\u00e7eneklerden biridir. Bir <code>Tkinter<\/code> penceresi olu\u015fturup \u00fczerine d\u00fc\u011fmeler (butonlar) ve bir metin alan\u0131 (entry widget) ekleyerek g\u00f6rsel bir hesap makinesi tasarlayabiliriz. Her d\u00fc\u011fmeye t\u0131kland\u0131\u011f\u0131nda ilgili i\u015flemi yapacak fonksiyonlar atan\u0131r. \u00d6rne\u011fin, &#8216;7&#8217; d\u00fc\u011fmesine bas\u0131ld\u0131\u011f\u0131nda, bu karakter metin alan\u0131na eklenir. \u00dc\u00e7\u00fcnc\u00fc olarak, <strong>ge\u00e7mi\u015f kayd\u0131<\/strong> (history) \u00f6zelli\u011fi eklenebilir. Kullan\u0131c\u0131n\u0131n yapt\u0131\u011f\u0131 \u00f6nceki hesaplamalar\u0131 bir liste veya dosya i\u00e7inde saklayarak, istenildi\u011finde bu ge\u00e7mi\u015fe eri\u015fim sa\u011flanabilir. Bu, \u00f6zellikle karma\u015f\u0131k hesaplamalar yapan veya bir sonucun \u00f6nceki ad\u0131mlar\u0131n\u0131 g\u00f6rmek isteyen kullan\u0131c\u0131lar i\u00e7in \u00e7ok faydal\u0131 olacakt\u0131r. Son olarak, <strong>hata y\u00f6netimi<\/strong> (error handling) daha da g\u00fc\u00e7lendirilebilir. Kullan\u0131c\u0131n\u0131n yanl\u0131\u015fl\u0131kla girdiyi silmesi, i\u015flemi de\u011fi\u015ftirmesi gibi durumlar i\u00e7in daha detayl\u0131 kontroller eklenebilir. \u00d6rne\u011fin, bir hesaplama hatas\u0131 olu\u015ftu\u011funda kullan\u0131c\u0131ya neyin yanl\u0131\u015f gitti\u011fini a\u00e7\u0131klayan daha bilgilendirici mesajlar g\u00f6sterilebilir. Bu ileri d\u00fczey \u00f6zellikler, basit bir hesap makinesini, ger\u00e7ek d\u00fcnya uygulamalar\u0131na daha yak\u0131n, daha g\u00fc\u00e7l\u00fc ve kullan\u0131c\u0131 dostu bir araca d\u00f6n\u00fc\u015ft\u00fcrecektir.<\/p>\n<h2>Sonu\u00e7: Kendi Python Hesap Makinenizi Olu\u015fturman\u0131n \u00d6nemi<\/h2>\n<p>Bu rehber boyunca, Python&#8217;da s\u0131f\u0131rdan bir hesap makinesi olu\u015fturman\u0131n temel ad\u0131mlar\u0131n\u0131 inceledik. Kullan\u0131c\u0131dan girdi almay\u0131, temel matematiksel i\u015flemleri ger\u00e7ekle\u015ftirmeyi, kodumuzu fonksiyonlarla d\u00fczenlemeyi, d\u00f6ng\u00fclerle s\u00fcrekli \u00e7al\u0131\u015fma imkan\u0131 sa\u011flamay\u0131 ve hatta hata y\u00f6netimi gibi \u00f6nemli konular\u0131 ele ald\u0131k. Basit bir hesap makinesi projesi, programlama mant\u0131\u011f\u0131n\u0131 anlamak, temel Python yap\u0131lar\u0131n\u0131 \u00f6\u011frenmek ve problem \u00e7\u00f6zme becerilerini geli\u015ftirmek i\u00e7in harika bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r. Bu projeyi tamamlamak, size sadece kod yazma becerisi kazand\u0131rmakla kalmaz, ayn\u0131 zamanda bir fikri somut bir uygulamaya d\u00f6n\u00fc\u015ft\u00fcrme s\u00fcrecini de \u00f6\u011fretir. Olu\u015fturdu\u011funuz bu hesap makinesi, ister basit bir toplama \u00e7\u0131karma arac\u0131 olsun, ister daha geli\u015fmi\u015f \u00f6zelliklere sahip bir bilimsel hesap makinesi, kendi eme\u011finizle ortaya \u00e7\u0131kard\u0131\u011f\u0131n\u0131z bir \u00fcr\u00fcnd\u00fcr. Bu, \u00f6\u011frenme s\u00fcrecinizi daha motive edici hale getirir. Ayr\u0131ca, bu projede \u00f6\u011frendi\u011finiz kavramlar, daha karma\u015f\u0131k yaz\u0131l\u0131mlar geli\u015ftirirken kar\u015f\u0131n\u0131za \u00e7\u0131kacak temel yap\u0131 ta\u015flar\u0131d\u0131r. De\u011fi\u015fkenler, fonksiyonlar, d\u00f6ng\u00fcler ve ko\u015fullu ifadeler gibi kavramlar\u0131 peki\u015ftirmek, gelecekteki projelerinizde size b\u00fcy\u00fck kolayl\u0131k sa\u011flayacakt\u0131r. Unutmay\u0131n, yaz\u0131l\u0131m geli\u015ftirme bir yolculuktur ve her ad\u0131m, sizi daha yetkin bir geli\u015ftirici yapar. Kendi hesap makinenizi olu\u015fturmak, bu yolculukta ataca\u011f\u0131n\u0131z \u00f6nemli ve \u00f6d\u00fcllendirici bir ad\u0131md\u0131r. Bu projeyi ki\u015fisel ihtiya\u00e7lar\u0131n\u0131za g\u00f6re uyarlayabilir, yeni \u00f6zellikler ekleyebilir ve kendi benzersiz hesap makinenizi yaratabilirsiniz. Ba\u015far\u0131lar dilerim!<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<ul>\n<li>\n            <strong>Python&#8217;da hesap makinesi yaparken en s\u0131k kar\u015f\u0131la\u015f\u0131lan hata nedir ve nas\u0131l \u00f6nlenir?<\/strong><\/p>\n<p>En s\u0131k kar\u015f\u0131la\u015f\u0131lan hatalardan biri, kullan\u0131c\u0131dan al\u0131nan metin girdisini say\u0131ya d\u00f6n\u00fc\u015ft\u00fcrmeye \u00e7al\u0131\u015f\u0131rken <code>ValueError<\/code> hatas\u0131d\u0131r. Kullan\u0131c\u0131 say\u0131 yerine harf girdi\u011finde bu hata olu\u015fur. Bu hatay\u0131 \u00f6nlemek i\u00e7in <code>try-except<\/code> bloklar\u0131 kullan\u0131l\u0131r. Say\u0131sal d\u00f6n\u00fc\u015f\u00fcm i\u015flemini <code>try<\/code> blo\u011fu i\u00e7ine al\u0131r, olas\u0131 bir <code>ValueError<\/code> hatas\u0131n\u0131 ise <code>except ValueError:<\/code> blo\u011fu ile yakalayarak kullan\u0131c\u0131ya uygun bir mesaj g\u00f6sterirsiniz.<\/p>\n<\/li>\n<li>\n            <strong>Hesap makinesine daha fazla matematiksel fonksiyon eklemek istersem ne yapmal\u0131y\u0131m?<\/strong><\/p>\n<p>Daha fazla matematiksel fonksiyon eklemek i\u00e7in Python&#8217;\u0131n yerle\u015fik <code>math<\/code> mod\u00fcl\u00fcn\u00fc kullanabilirsiniz. Bu mod\u00fcl\u00fc <code>import math<\/code> diyerek kodunuza dahil ettikten sonra, <code>math.sin()<\/code>, <code>math.cos()<\/code>, <code>math.log()<\/code>, <code>math.sqrt()<\/code> gibi fonksiyonlara eri\u015febilirsiniz. Bu fonksiyonlar\u0131n baz\u0131lar\u0131 (\u00f6rne\u011fin trigonometrik fonksiyonlar) girdilerini radyan cinsinden bekler, bu nedenle gerekirse dereceyi radyana \u00e7eviren yard\u0131mc\u0131 fonksiyonlar yazman\u0131z gerekebilir.<\/p>\n<\/li>\n<li>\n            <strong>Grafiksel bir kullan\u0131c\u0131 aray\u00fcz\u00fc (GUI) ile hesap makinesi yapmak zor mudur?<\/strong><\/p>\n<p>Grafiksel aray\u00fczler, metin tabanl\u0131 aray\u00fczlere g\u00f6re biraz daha karma\u015f\u0131k olabilir ancak Python&#8217;da <code>Tkinter<\/code> gibi k\u00fct\u00fcphaneler sayesinde olduk\u00e7a eri\u015filebilirdir. <code>Tkinter<\/code>, pencere, d\u00fc\u011fme, metin alan\u0131 gibi temel GUI \u00f6\u011felerini olu\u015fturmak i\u00e7in kullan\u0131l\u0131r ve ba\u015flang\u0131\u00e7 seviyesindeki geli\u015ftiriciler i\u00e7in iyi bir se\u00e7enektir. Ba\u015flang\u0131\u00e7ta basit bir pencere ve birka\u00e7 d\u00fc\u011fme ile ba\u015flay\u0131p zamanla karma\u015f\u0131kl\u0131\u011f\u0131 art\u0131rabilirsiniz.<\/p>\n<\/li>\n<li>\n            <strong>Hesap makinesinin ge\u00e7mi\u015f kay\u0131tlar\u0131n\u0131 nas\u0131l saklayabilirim?<\/strong><\/p>\n<p>Hesap makinesinin ge\u00e7mi\u015f kay\u0131tlar\u0131n\u0131 saklamak i\u00e7in birka\u00e7 y\u00f6ntem mevcuttur. En basit y\u00f6ntem, yap\u0131lan i\u015flemleri ve sonu\u00e7lar\u0131 bir Python listesinde saklamakt\u0131r. E\u011fer program kapand\u0131\u011f\u0131nda da bu verilerin kaybolmas\u0131n\u0131 istemiyorsan\u0131z, bu listeyi bir metin dosyas\u0131na (\u00f6rne\u011fin <code>.txt<\/code> veya <code>.csv<\/code> format\u0131nda) yazabilirsiniz. Program yeniden ba\u015flad\u0131\u011f\u0131nda ise bu dosyadan verileri okuyarak ge\u00e7mi\u015fi tekrar y\u00fckleyebilirsiniz.<\/p>\n<\/li>\n<\/ul>\n<p>#Python #HesapMakinesi #Programlama #WebGeli\u015ftirme #Yaz\u0131l\u0131m<\/p>\n<div class=\"github-example-link\"><strong>\u00d6rnek kod:<\/strong> <a href=\"https:\/\/github.com\/fatihsoysalcom\/python-simple-calculator-app\" target=\"_blank\" rel=\"noopener noreferrer\">github.com\/fatihsoysalcom\/python-simple-calculator-app<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"Python&#8217;da basit bir hesap makinesi nas\u0131l yap\u0131l\u0131r? Bu rehberle temel aritmetik i\u015flemlerden daha fazlas\u0131n\u0131 i\u00e7eren bir hesap makinesi olu\u015fturmay\u0131 \u00f6\u011frenin.","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1403],"tags":[],"class_list":{"0":"post-43992","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-python","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Python ile Hesap Makinesi Yap\u0131m\u0131: Ad\u0131m Ad\u0131m Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Python ile Hesap Makinesi Yap\u0131m\u0131: Ad\u0131m Ad\u0131m Rehber\" \/>\n<meta property=\"og:description\" content=\"Python&#039;da basit bir hesap makinesi nas\u0131l yap\u0131l\u0131r? Bu rehberle temel aritmetik i\u015flemlerden daha fazlas\u0131n\u0131 i\u00e7eren bir hesap makinesi olu\u015fturmay\u0131 \u00f6\u011frenin.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-10T18:00:35+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-10T18:00:51+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Python ile Hesap Makinesi Yap\u0131m\u0131: Ad\u0131m Ad\u0131m Rehber\",\"datePublished\":\"2026-08-10T18:00:35+00:00\",\"dateModified\":\"2026-08-10T18:00:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/\"},\"wordCount\":3001,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Python\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/\",\"name\":\"Python ile Hesap Makinesi Yap\u0131m\u0131: Ad\u0131m Ad\u0131m Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-08-10T18:00:35+00:00\",\"dateModified\":\"2026-08-10T18:00:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Python ile Hesap Makinesi Yap\u0131m\u0131: Ad\u0131m Ad\u0131m Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Python ile Hesap Makinesi Yap\u0131m\u0131: Ad\u0131m Ad\u0131m Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"Python ile Hesap Makinesi Yap\u0131m\u0131: Ad\u0131m Ad\u0131m Rehber","og_description":"Python'da basit bir hesap makinesi nas\u0131l yap\u0131l\u0131r? Bu rehberle temel aritmetik i\u015flemlerden daha fazlas\u0131n\u0131 i\u00e7eren bir hesap makinesi olu\u015fturmay\u0131 \u00f6\u011frenin.","og_url":"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-08-10T18:00:35+00:00","article_modified_time":"2026-08-10T18:00:51+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"18 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Python ile Hesap Makinesi Yap\u0131m\u0131: Ad\u0131m Ad\u0131m Rehber","datePublished":"2026-08-10T18:00:35+00:00","dateModified":"2026-08-10T18:00:51+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/"},"wordCount":3001,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Python"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/","name":"Python ile Hesap Makinesi Yap\u0131m\u0131: Ad\u0131m Ad\u0131m Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-08-10T18:00:35+00:00","dateModified":"2026-08-10T18:00:51+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/python-ile-hesap-makinesi-yapimi-adim-adim-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Python ile Hesap Makinesi Yap\u0131m\u0131: Ad\u0131m Ad\u0131m Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/43992","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=43992"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/43992\/revisions"}],"predecessor-version":[{"id":43993,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/43992\/revisions\/43993"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=43992"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=43992"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=43992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}