{"id":10550,"date":"2018-01-02T10:10:33","date_gmt":"2018-01-02T15:10:33","guid":{"rendered":"https:\/\/cscircles.cemc.uwaterloo.ca\/?page_id=10550"},"modified":"2018-07-06T23:59:26","modified_gmt":"2018-07-07T03:59:26","slug":"1-tr-errors","status":"publish","type":"page","link":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/1-tr-errors\/","title":{"rendered":"1E: Hatalar"},"content":{"rendered":"<!-- Please retain this notice and add more notes if you create a new version.<br \/>\nOriginal lesson author: David Pritchard, daveagp@gmail.com, http:\/\/cscircles.ca<br \/>\nLicense: http:\/\/creativecommons.org\/licenses\/by-nc-sa\/3.0\/-->\n<p>Ne kadar \u00e7ok program yazarsan\u0131z hatalarla (error ve bug) kar\u015f\u0131la\u015fma ihtimaliniz o kadar artar. Hatan\u0131n sebebini bulmak ve anlamak, sonra da hatalar\u0131 tamir etmek program yazman\u0131n \u00f6nemli bir par\u00e7as\u0131d\u0131r.\u00a0Python, sizin ondan yapman\u0131z\u0131 istedi\u011finiz her i\u015flemi ger\u00e7ekle\u015ftirmek i\u00e7in elinden geleni yapacakt\u0131r, ama ne demek istedi\u011finizi anlayamazsa program\u0131 \u00e7al\u0131\u015ft\u0131ramaz. Yine de Python, sizin hatay\u0131 bulup d\u00fczeltebilmeniz i\u00e7in neyin yanl\u0131\u015f gitti\u011fine dair bilgi verir.<\/p>\n<p>\u0130\u015fte iki Python hatas\u0131.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform0\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox0'>\n<div class=\"heading\"><span class='type'>Example: <\/span><span class='title'>Bir Syntax Hatas\u0131<\/span><\/div> <div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 32px;'><textarea wrap='off' name='usercode0' id='usercode0'  cols=10 rows=1 readonly='readonly'  style = 'height : 32px;'  class='pyboxCode RO'>\nprint \"Gee golly\"<\/textarea><\/div>\n<div id='pbhistory0' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit0' value=' '\/><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse0\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"0\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"f4cdeb5b33afe8c564c3e6140e029e0c\"\/>\n<div id='pbresults0' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit0\").value = \"Run program\";document.getElementById(\"inputInUse0\").value = \"N\";<\/script>\n<\/p>\n<p>Bu ilk \u00f6rnekte\u00a0<code>print(...)<\/code>. komutunun gerektirdi\u011fi parantezleri koymay\u0131 unuttuk ve Python ne yapmas\u0131 gerekti\u011fini bilmiyor.<\/p>\n<p>\u0130kinci hata da Python'da bir bug \u00f6rne\u011fi.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform1\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox1'>\n<div class=\"heading\"><span class='type'>Example: <\/span><span class='title'>Bir Run-Time Hatas\u0131<\/span><\/div> <div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 32px;'><textarea wrap='off' name='usercode1' id='usercode1'  cols=10 rows=1 readonly='readonly'  style = 'height : 32px;'  class='pyboxCode RO'>\nprint(greeting)<\/textarea><\/div>\n<div id='pbhistory1' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit1' value=' '\/><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse1\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"1\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"b74138d826303a05ade04c72b685e9c9\"\/>\n<div id='pbresults1' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit1\").value = \"Run program\";document.getElementById(\"inputInUse1\").value = \"N\";<\/script>\n<\/p>\n<p>\u0130kinci \u00f6rne\u011fimizde ise\u00a0<code>greeting<\/code> de\u011fi\u015fkenine i\u00e7erik tan\u0131mlay\u0131 unuttuk. Python ne istedi\u011finizi anl\u0131yor, ama\u00a0<code>greeting<\/code>\u00a0de\u011fi\u015fkenini ba\u015ftan tan\u0131mlanmam\u0131\u015f oldu\u011fu i\u00e7in hata ortaya \u00e7\u0131k\u0131yor.<\/p>\n<p>Python sizin ne dedi\u011finizi anlamad\u0131\u011f\u0131nda bir\u00a0<strong>syntax error<\/strong>\u00a0olu\u015fur. Bir\u00a0<strong>run-time error<\/strong>\u00a0ise Python ne dedi\u011finizi anlad\u0131\u011f\u0131 ama verdi\u011finiz y\u00f6nergeyi nas\u0131l uygulayaca\u011f\u0131n\u0131 bilmedi\u011finde olu\u015fur.<\/p>\n<p>T\u00fcrk\u00e7eyi ele ald\u0131\u011f\u0131m\u0131zda\u00a0<strong>syntax error<\/strong> \u015f\u00f6yle olabilir:<\/p>\n<p style=\"text-align: center;\"><em>L\u00fctfen kedi k\u00f6pek maymun.<\/em><\/p>\n<p>Bu c\u00fcmlenin grameri anlams\u0131z. T\u00fcrk\u00e7e gramerine g\u00f6re burada eksik olan fiildir (y\u00fcklem). Sizden ne istendi\u011fini anlaman\u0131z m\u00fcmk\u00fcn de\u011fil. <em>Syntax<\/em> \"s\u00f6zdizimi\" ayn\u0131 gramer gibidir.<\/p>\n<p>T\u00fcrk\u00e7ede\u00a0<strong>run-time error<\/strong>\u00a0ise \u015f\u00f6yle olurdu:<\/p>\n<p style=\"text-align: center;\"><em>L\u00fctfen piyanoyu ye.<\/em><\/p>\n<p>C\u00fcmlede gramatik olarak bir sorun yok; \u00f6zne, y\u00fcklem yerli yerinde, bizden ne istenmekte oldu\u011funu anl\u0131yoruz. Ama komutu uygulay\u0131p piyanoyu yemeye kalkt\u0131\u011f\u0131m\u0131zda baz\u0131 sorunlarla kar\u015f\u0131la\u015fabiliriz (tabii termit de\u011filsek). Bu da\u00a0<em>run-time error<\/em> olarak adland\u0131r\u0131l\u0131r, \u00e7\u00fcnk\u00fc sorunla i\u015flem ba\u015flad\u0131ktan sonra kar\u015f\u0131la\u015f\u0131l\u0131r.<\/p>\n<p>Bunlara ek olarak <strong>logic errors<\/strong>\u00a0\"mant\u0131k hatalar\u0131\" hakk\u0131nda da biraz konu\u015fal\u0131m. Bu hatalarda program \u00e7\u00f6kmeden \u00e7al\u0131\u015f\u0131r ama bekledi\u011fimizin d\u0131\u015f\u0131nda bir sonu\u00e7 ortaya \u00e7\u0131kar. Buna \u00f6rnek bir c\u00fcmle:<\/p>\n<p style=\"text-align: center;\"><em>L\u00fctfen arka kap\u0131y\u0131 kapat, i\u00e7eri b\u00f6cek girmesin.<\/em><\/p>\n<p>E\u011fer \u00f6n kap\u0131 da a\u00e7\u0131ksa bu c\u00fcmlede bir mant\u0131k hatas\u0131 vard\u0131r: Komut tek ba\u015f\u0131na mant\u0131kl\u0131 da g\u00f6r\u00fcnse; \u00f6n kap\u0131 a\u00e7\u0131kken arka kapay\u0131 kapatmakla eve b\u00f6cek giri\u015fi engellenemeyece\u011finden, bu komut ger\u00e7ekle\u015fmesi istenen sonucu \u00fcretmekten uzakt\u0131r; arka kap\u0131y\u0131 kapatmak b\u00f6cek giri\u015fini engellemeye yetmez.<\/p>\n<h2>Python'da Genel Syntax Hatalar\u0131<\/h2>\n<p>Python'da kar\u015f\u0131m\u0131za \u00e7\u0131kabilecek ba\u015fka baz\u0131 syntax hatalar\u0131 da vard\u0131r. \u00c7ok genel bir hata Python'da beklenmedik bir yerde beklenmedik bir i\u015faretin bulunmas\u0131 ile olu\u015fur.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform2\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox2'>\n<div class=\"heading\"><span class='type'>Example: <\/span><span class='title'>Syntax Hatas\u0131<\/span><\/div> <div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 32px;'><textarea wrap='off' name='usercode2' id='usercode2'  cols=10 rows=1 readonly='readonly'  style = 'height : 32px;'  class='pyboxCode RO'>\nprint(Selam, D\u00fcnya!)<\/textarea><\/div>\n<div id='pbhistory2' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit2' value=' '\/><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse2\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"2\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"285f02b106dacf7886be6a361c6010b2\"\/>\n<div id='pbresults2' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit2\").value = \"Run program\";document.getElementById(\"inputInUse2\").value = \"N\";<\/script>\n<\/p>\n<p>Python buna <code>SyntaxError: invalid syntax<\/code>\u00a0cevab\u0131n\u0131 verir ve\u00a0\u00a0<code>^<\/code>\u00a0 i\u015faretiyle hatan\u0131n yerini g\u00f6sterir. Problem \u015fu ki\u00a0<code>!<\/code>\u00a0\u00fcnlem i\u015faretinin Python i\u00e7in bir anlam\u0131 yoktur. Bu syntax hatas\u0131, komutu\u00a0<code>print(\"Selam, D\u00fcnya!\")<\/code> \u015feklinde yazd\u0131\u011f\u0131m\u0131zda d\u00fczelir, \u00e7\u00fcnk\u00fc b\u00f6ylece Python \u00fcnlemin\u00a0<code>!<\/code>\u00a0 yazd\u0131rmak istedi\u011fimiz metnin bir par\u00e7as\u0131 oldu\u011funu anlar\u00a0<code>Selam, D\u00fcnya<\/code>.<\/p>\n<p>Daha incelikli ba\u015fka bir syntax hatas\u0131na bakal\u0131m.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform3\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox3'>\n<div class=\"heading\"><span class='type'>Example: <\/span><span class='title'>Syntax Hatas\u0131<\/span><\/div> <div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 32px;'><textarea wrap='off' name='usercode3' id='usercode3'  cols=10 rows=1 readonly='readonly'  style = 'height : 32px;'  class='pyboxCode RO'>\nclass = \"Yeni Ba\u015flayanlar i\u00e7in \u0130leri Computronics\"<\/textarea><\/div>\n<div id='pbhistory3' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit3' value=' '\/><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse3\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"3\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"efefb890dce09e0e3e8decf0d138b52d\"\/>\n<div id='pbresults3' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit3\").value = \"Run program\";document.getElementById(\"inputInUse3\").value = \"N\";<\/script>\n<\/p>\n<p>Burada de\u011fi\u015fken olarak se\u00e7ilen\u00a0<code>class<\/code>\u00a0kelimesi Python i\u00e7in \u00f6zel bir terimdir. Class yerine \u00f6rne\u011fin\u00a0<code>course<\/code> dedi\u011fimizde hata d\u00fczelecektir. Buraya\u00a0<a class=\"hintlink\"  id=\"hintlink4\">t\u0131klayarak<\/a> Python'daki t\u00fcm \u00f6zel \"anahtar kelimeler\" listesini g\u00f6rebilirsiniz.<\/p>\n<p>T\u0131rnak veya parantez i\u015faretlerini kullan\u0131rken bunlar\u0131 kapatmay\u0131 unutursan\u0131z syntax hatalar\u0131 ile kar\u015f\u0131la\u015f\u0131rs\u0131n\u0131z:<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform5\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox5'>\n<div class=\"heading\"><span class='type'>Example: <\/span><span class='title'>Syntax Hatas\u0131<\/span><\/div>\u0130kinci t\u0131rnak unutuldu<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 32px;'><textarea wrap='off' name='usercode5' id='usercode5'  cols=10 rows=1 readonly='readonly'  style = 'height : 32px;'  class='pyboxCode RO'>\nisim = \"Hasan<\/textarea><\/div>\n<div id='pbhistory5' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit5' value=' '\/><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse5\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"5\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"fbad81bda35dc781c67e7efe6eee48f9\"\/>\n<div id='pbresults5' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit5\").value = \"Run program\";document.getElementById(\"inputInUse5\").value = \"N\";<\/script>\n<\/p>\n<p>Bu hatada, <strong>EOL<\/strong>\u00a0\u0130ngilizce \"sat\u0131r\u0131n sonu\" ifadesinin ilk harflerinden olu\u015fur,\u00a0<strong>E<\/strong>nd <strong>O<\/strong>f <strong>L<\/strong>ine: Python a\u00e7\u0131lan t\u0131rna\u011f\u0131n ikinci bir\u00a0<code>\"<\/code>\u00a0 i\u015fareti ile kapanmas\u0131 bekler, ama sat\u0131r\u0131n sonunda olmas\u0131 gereken bu i\u015faret bulunamam\u0131\u015ft\u0131r.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform6\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox6'>\n<div class=\"heading\"><span class='type'>Example: <\/span><span class='title'>Syntax Hatas\u0131<\/span><\/div>\u0130kinci parantez unutuldu<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 32px;'><textarea wrap='off' name='usercode6' id='usercode6'  cols=10 rows=1 readonly='readonly'  style = 'height : 32px;'  class='pyboxCode RO'>\nprint(77<\/textarea><\/div>\n<div id='pbhistory6' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit6' value=' '\/><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse6\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"6\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"85457e405311eb874c41a8b9edb5f588\"\/>\n<div id='pbresults6' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit6\").value = \"Run program\";document.getElementById(\"inputInUse6\").value = \"N\";<\/script>\n<\/p>\n<p>Benzer olarak, <strong>EOF<\/strong>\u00a0\u0130ngilizce \"dosyan\u0131n sonu\" ifadesinin ilk harfleridir,\u00a0<strong>E<\/strong>nd <strong>O<\/strong>f <strong>F<\/strong>ile: Python parantezi kapatacak\u00a0<code>)<\/code> i\u015faretini arar, ama program dosyas\u0131 bu i\u015faret olmaks\u0131z\u0131n sona ermi\u015ftir.<\/p>\n<p>Bazen birbirine \u00e7ok benzeyen iki syntax hatas\u0131 \u00e7ok farkl\u0131 iki hata mesaj\u0131 verebilir. Fakat her hata mesaj\u0131 bize hatay\u0131 d\u00fczeltmemiz i\u00e7in yard\u0131mc\u0131 olacak bilgi vermektedir.<\/p>\n<h2>Run-Time Hatalar\u0131<\/h2>\n<p>Burada yayg\u0131n run-time hatalar\u0131ndan birka\u00e7 tanesine bakal\u0131m. Python program\u0131 anlayabilir ancak y\u00f6nergeleri yerine getirirken baz\u0131 sorunlarla kar\u015f\u0131la\u015fabilir.<\/p>\n<ul>\n<li>daha \u00f6nce tan\u0131mlanmam\u0131\u015f bir de\u011fi\u015fken veya fonksiyonu kullanmak. Bu hata \u00f6rne\u011fin de\u011fi\u015fken ismindeki b\u00fcy\u00fck harflerin tutars\u0131z yaz\u0131m\u0131ndan da do\u011fabilir:\u00a0 <form class=\"pbform\" action=\"#\" id=\"pbform7\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox7'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>Tan\u0131mlanmam\u0131\u015f de\u011fi\u015fken<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 58px;'><textarea wrap='off' name='usercode7' id='usercode7'  cols=10 rows=2 readonly='readonly'  style = 'height : 58px;'  class='pyboxCode RO'>\naraBeni = \"Belki\"\nprint(arabeni)<\/textarea><\/div>\n<div id='pbhistory7' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit7' value=' '\/><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse7\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"7\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"50cb124b370001800a860874dba018e0\"\/>\n<div id='pbresults7' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit7\").value = \"Run program\";document.getElementById(\"inputInUse7\").value = \"N\";<\/script>\n<\/li>\n<li>s\u0131f\u0131ra b\u00f6lmek, ki matematiksel olarak da anlams\u0131zd\u0131r. (Neden? Herhangi bir say\u0131n\u0131n 0 ile \u00e7arp\u0131m\u0131 0 oldu\u011funa g\u00f6re\u00a0 1 = <em>X<\/em> * 0 i\u015fleminin bir \u00e7\u00f6z\u00fcm\u00fc yoktur,yani 1\/0 tan\u0131mlanmam\u0131\u015ft\u0131r.) <form class=\"pbform\" action=\"#\" id=\"pbform8\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox8'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>S\u0131f\u0131ra b\u00f6lmek<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 32px;'><textarea wrap='off' name='usercode8' id='usercode8'  cols=10 rows=1 readonly='readonly'  style = 'height : 32px;'  class='pyboxCode RO'>\nprint(1\/0)<\/textarea><\/div>\n<div id='pbhistory8' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit8' value=' '\/><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse8\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"8\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"09f9746176a2d4230f0c6fff91c10e14\"\/>\n<div id='pbresults8' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit8\").value = \"Run program\";document.getElementById(\"inputInUse8\").value = \"N\";<\/script>\n<\/li>\n<li>veri tiplerini yanl\u0131\u015f i\u015fleme t\u00e2bi tutmak <form class=\"pbform\" action=\"#\" id=\"pbform9\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox9'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>Metin ve say\u0131yla toplama i\u015flemi<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 32px;'><textarea wrap='off' name='usercode9' id='usercode9'  cols=10 rows=1 readonly='readonly'  style = 'height : 32px;'  class='pyboxCode RO'>\nprint(\"metinle say\u0131y\u0131 toplayamazs\u0131n\u0131z\" + 12)<\/textarea><\/div>\n<div id='pbhistory9' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit9' value=' '\/><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse9\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"9\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"ea59d128632ecd5b910e309ec74d6db8\"\/>\n<div id='pbresults9' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit9\").value = \"Run program\";document.getElementById(\"inputInUse9\").value = \"N\";<\/script>\n<\/li>\n<\/ul>\n<p>Python hakk\u0131nda daha \u00e7ok bilgi edindik\u00e7e daha fazla hata yapma yolu \u00f6\u011freneceksiniz.<\/p>\n<p><table class='pywarn'><tr><td class='pywarnleft'><img src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/warning.png'\/><\/td><td class='pywarnright'><span> Syntax ve run-time hatalar\u0131 aras\u0131ndaki teknik fark nedir? Run-time hatas\u0131 ile syntax hatas\u0131n\u0131 kar\u015f\u0131la\u015ft\u0131rmak i\u00e7in bir \u00f6rnekten faydalanabiliriz. Her program\u0131n \u00e7\u0131kt\u0131s\u0131na (output) g\u00f6z at\u0131n.<form class=\"pbform\" action=\"#\" id=\"pbform10\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox10'>\n<div class=\"heading\"><span class='type'>Example: <\/span><span class='title'>Run-Time Hatas\u0131<\/span><\/div> <div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 58px;'><textarea wrap='off' name='usercode10' id='usercode10'  cols=10 rows=2 readonly='readonly'  style = 'height : 58px;'  class='pyboxCode RO'>\nprint(\"Burda biraz metin yazd\u0131k\")\nprint(1\/0)<\/textarea><\/div>\n<div id='pbhistory10' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit10' value=' '\/><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse10\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"10\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"76fcbd94438754ee45a7f6fc3dad5d45\"\/>\n<div id='pbresults10' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit10\").value = \"Run program\";document.getElementById(\"inputInUse10\").value = \"N\";<\/script>\n <form class=\"pbform\" action=\"#\" id=\"pbform11\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox11'>\n<div class=\"heading\"><span class='type'>Example: <\/span><span class='title'>Syntax Hatas\u0131<\/span><\/div> <div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 58px;'><textarea wrap='off' name='usercode11' id='usercode11'  cols=10 rows=2 readonly='readonly'  style = 'height : 58px;'  class='pyboxCode RO'>\nprint(\"Burda biraz metin yazd\u0131k\")\nprint(1*0<\/textarea><\/div>\n<div id='pbhistory11' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit11' value=' '\/><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse11\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"11\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"153a0c5bad07e2a7d1b48330019e85d3\"\/>\n<div id='pbresults11' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit11\").value = \"Run program\";document.getElementById(\"inputInUse11\").value = \"N\";<\/script>\nRun-time hatas\u0131 olan program bir \u00e7\u0131kt\u0131 verdi, ama syntax hatas\u0131 olan program herhangi bir \u00e7\u0131kt\u0131 vermedi. \u00c7\u00fcnk\u00fc Python iki ad\u0131mda \u00e7al\u0131\u015f\u0131r: <\/p>\n<ol>  \t<\/p>\n<li>Python \u00f6nce program\u0131n\u0131z\u0131n s\u00f6zdiziminin (syntax) do\u011fru olup olmad\u0131\u011f\u0131n\u0131 g\u00f6rmek i\u00e7in yap\u0131s\u0131n\u0131 ve bile\u015fenlerini kontrol eder.<\/li>\n<p>  \t<\/p>\n<li>E\u011fer ilk ad\u0131mda syntax hatas\u0131 ile kar\u015f\u0131la\u015f\u0131lmazsa program i\u015fleme konur.<\/li>\n<p> <\/ol>\n<p> <\/p>\n<div>Yani, syntax hatas\u0131 olan bir program hi\u00e7bir \u015fekilde i\u015fleme konmaz, ama run-time hatas\u0131 ile program\u0131n hatayla kar\u015f\u0131la\u015ft\u0131\u011f\u0131 noktaya kadar ilerlenebilir.<\/div>\n<p>  <\/span><\/td><\/table><\/p>\n<h2>Mant\u0131k Hatalar\u0131<\/h2>\n<p>Program\u0131n\u0131z \u00e7\u00f6kmeksizin \u00e7al\u0131\u015fabilir (syntax veya run-time hatalar\u0131 olmaks\u0131z\u0131n), ama yine de bir hata bulunur. \u00d6rne\u011fin, <em>x<\/em> ve\u00a0<em>y<\/em> de\u011fi\u015fkenleri ile tan\u0131mlad\u0131\u011f\u0131n\u0131z iki rakam\u0131n ortalamas\u0131n\u0131z almak istersiniz,<\/p>\n<p style=\"text-align: center;\"><img src='https:\/\/s0.wp.com\/latex.php?latex=%5Cdisplaystyle%7B%5Cfrac%7Bx%2By%7D%7B2%7D%7D&#038;bg=T&#038;fg=000000&#038;s=2' alt='\\displaystyle{\\frac{x+y}{2}}' title='\\displaystyle{\\frac{x+y}{2}}' class='latex' \/><\/p>\n<p>Ama program neden \u00e7al\u0131\u015fm\u0131yor?<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform12\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox12'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>Ortalamay\u0131 do\u011fru hesalam\u0131yor.<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 110px;'><textarea wrap='off' name='usercode12' id='usercode12'  cols=10 rows=4 readonly='readonly'  style = 'height : 110px;'  class='pyboxCode RO'>\nx = 3\ny = 4\nortalama = x + y \/ 2\nprint(ortalama)<\/textarea><\/div>\n<div id='pbhistory12' class='flexcontain' style='display:none;'><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit12' value=' '\/><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse12\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"12\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"b94a664d402027f25e218d3bdf6d0ac0\"\/>\n<div id='pbresults12' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit12\").value = \"Run program\";document.getElementById(\"inputInUse12\").value = \"N\";<\/script>\n<\/p>\n<p>Ortalama<\/p>\n<p style=\"text-align: center;\"><img src='https:\/\/s0.wp.com\/latex.php?latex=%5Cdisplaystyle%7B%5Cfrac%7Bx%2By%7D%7B2%7D%3D%5Cfrac%7B3%2B4%7D%7B2%7D%3D%5Cfrac%7B7%7D%7B2%7D%3D3.5%7D&#038;bg=T&#038;fg=000000&#038;s=2' alt='\\displaystyle{\\frac{x+y}{2}=\\frac{3+4}{2}=\\frac{7}{2}=3.5}' title='\\displaystyle{\\frac{x+y}{2}=\\frac{3+4}{2}=\\frac{7}{2}=3.5}' class='latex' \/><\/p>\n<p>olmal\u0131yd\u0131 ama program <code>5.0<\/code> sonucunu veriyor! Bu kez hata aritmetikteki \"i\u015flemlerin \u00f6ncelik s\u0131ralamas\u0131\" ile ilgili.\u00a0\u00a0<code>x + y \/ 2<\/code>, yazd\u0131\u011f\u0131n\u0131zda s\u00f6yledi\u011finiz \u015fey, y'nin 2'ye b\u00f6l\u00fcnmesidir: <img src='https:\/\/s0.wp.com\/latex.php?latex=x+%2B+%28y+%2F+2%29+%3D+3+%2B+%284+%2F+2%29+%3D+3+%2B+2+%3D+5&#038;bg=T&#038;fg=000000&#038;s=2' alt='x + (y \/ 2) = 3 + (4 \/ 2) = 3 + 2 = 5' title='x + (y \/ 2) = 3 + (4 \/ 2) = 3 + 2 = 5' class='latex' \/>. Sorunu \u00e7\u00f6zmek i\u00e7in \u00fc\u00e7\u00fcnc\u00fc sat\u0131r\u00a0<code>ortalama = (x + y) \/ 2<\/code>, \u015feklinde yaz\u0131lmal\u0131yd\u0131 ki Python <img src='https:\/\/s0.wp.com\/latex.php?latex=%5Cfrac%7Bx%2By%7D%7B2%7D&#038;bg=T&#038;fg=000000&#038;s=3' alt='\\frac{x+y}{2}' title='\\frac{x+y}{2}' class='latex' \/>, i\u015flemini \u00f6ncelikle toplama sonra b\u00f6lme s\u0131ralamas\u0131 ile yapabilsin.<\/p>\n<p>Mant\u0131k hatalar\u0131 program\u0131 yanl\u0131\u015f kurgulaman\u0131zdan, yanl\u0131\u015f dizayn etmenizden kaynaklan\u0131r. Veya kurgunuzu yazd\u0131\u011f\u0131n\u0131z koda yanl\u0131\u015f yans\u0131tm\u0131\u015f olabilirsiniz\u00a0(<code>ortalama<\/code> \u00f6rne\u011findeki gibi). Mant\u0131k hatalar\u0131n\u0131 tespit etmek zor olabilir, \u00f6zellikle uzun programlarda. Ama kod yazmakta kendinizi geli\u015ftirdik\u00e7e mant\u0131k hatalardan ka\u00e7\u0131nmakta daha becerikli olacaks\u0131n\u0131z. 6D\u00a0 dersinde mant\u0131k hatalar\u0131ndan ka\u00e7\u0131nmak konusunda birka\u00e7 ipucu bulabileceksiniz.<\/p>\n<h2>Al\u0131\u015ft\u0131rmalar<\/h2>\n<p>Bu dersi bitirirken al\u0131\u015ft\u0131rmada verilen 3 programdaki hatalar\u0131 d\u00fczeltelim, buna\u00a0<em>debugging<\/em> (programlardaki hatalar\u0131 gidermek) denir. Programlar\u0131 \u00e7al\u0131\u015ft\u0131rmadan \u00f6nce hatalar\u0131 bulmaya, veya \u00f6nce \u00e7al\u0131\u015ft\u0131r\u0131p Python'un i\u015faret etti\u011fi hatay\u0131 d\u00fczeltmeye \u00e7al\u0131\u015fabilirsiniz.<\/p>\n<p><table class='pywarn'><tr><td class='pywarnleft'><img src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/warning.png'\/><\/td><td class='pywarnright'><span> Her programda \u00f6nceden yaz\u0131lm\u0131\u015f kodlar\u0131 bulacaks\u0131n\u0131z. Hatalar\u0131 d\u00fczeltmek i\u00e7in sadece birka\u00e7 karakter (harf\/sembol\/rakam) de\u011fi\u015ftirmeniz yetecek. <em>Belirtilenden fazla karakter de\u011fi\u015ftirmeniz h\u00e2linde, D\u00fczenleyici \u00e7\u00f6z\u00fcm\u00fcn\u00fcz\u00fc reddeder. <\/em>Orijinal versiyona d\u00f6nmek i\u00e7in <strong>Varsay\u0131lan koda d\u00f6n<\/strong>\u00a0se\u00e7ebilirsiniz. <\/span><\/td><\/table><\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform13\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox13'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Coding Exercise: <\/span><span class='title'>Toplar<\/span><\/div>A\u015fa\u011f\u0131daki programda bulunan syntax hatas\u0131n\u0131 giderin ve 1'den 10'a kadar say\u0131lar\u0131 toplay\u0131p sonucu yazs\u0131n. En fazla bir karakter de\u011fi\u015ftirebilirsiniz.<div class=\"helpOuter\" style=\"display: none;\"><div class=\"helpInner\"><div style=\"text-align: center\">You need to create an account and log in to ask a question.<\/div><\/div><\/div><div class='pyboxTextwrap pyboxCodewrap RW resizy'  style='height: 526px;'><textarea wrap='off' name='usercode13' id='usercode13'  cols=10 rows=20   class='pyboxCode RW'>\nprint(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 +)\n<\/textarea><\/div>\n<div id='pbhistory13' class='flexcontain' style='display:none;'><\/div>\n<input type='hidden' id='defaultCode13' value='print(1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 +)\\n'><\/input>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit13' value=' '\/><\/td>\n<td><input type='button' name='history' value=\"History\" onclick=\"historyClick(13,'1e.product')\" ><\/td>\n<td><input type='button' name='default' value=\"Reset code to default\" onclick=\"pbSetText(13,descape($('#defaultCode13').val()))\" ><\/td>\n<td><input type='button' name='help' value=\"Help\" onclick=\"helpClick(13);\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse13\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"13\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"8785c1a0ec7646e669974b4e77410b54\"\/>\n<div id='pbresults13' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit13\").value = \"Run program\";document.getElementById(\"inputInUse13\").value = \"N\";<\/script>\n<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform14\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox14'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Coding Exercise: <\/span><span class='title'>Selam Hasan<\/span><\/div>A\u015fa\u011f\u0131daki programda bulunan run-time hatas\u0131n\u0131 d\u00fczeltin, ilk sat\u0131rda\u00a0<code>Selam<\/code>\u00a0ikinci sat\u0131rda\u00a0<code>Hasan<\/code>\u00a0yazs\u0131n. En fazla 2 karakter de\u011fi\u015ftirebilirsiniz.<div class=\"helpOuter\" style=\"display: none;\"><div class=\"helpInner\"><div style=\"text-align: center\">You need to create an account and log in to ask a question.<\/div><\/div><\/div><div class='pyboxTextwrap pyboxCodewrap RW resizy'  style='height: 526px;'><textarea wrap='off' name='usercode14' id='usercode14'  cols=10 rows=20   class='pyboxCode RW'>\nprint(\"Hello\")\nusername = Joe \nprint(username)\n<\/textarea><\/div>\n<div id='pbhistory14' class='flexcontain' style='display:none;'><\/div>\n<input type='hidden' id='defaultCode14' value='print(\\\"Hello\\\")\\nusername = Joe \\nprint(username)\\n'><\/input>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit14' value=' '\/><\/td>\n<td><input type='button' name='history' value=\"History\" onclick=\"historyClick(14,'1e.joe')\" ><\/td>\n<td><input type='button' name='default' value=\"Reset code to default\" onclick=\"pbSetText(14,descape($('#defaultCode14').val()))\" ><\/td>\n<td><input type='button' name='help' value=\"Help\" onclick=\"helpClick(14);\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse14\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"14\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"418c343376c957ae23ebf38fd9a4d9eb\"\/>\n<div id='pbresults14' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit14\").value = \"Run program\";document.getElementById(\"inputInUse14\").value = \"N\";<\/script>\n<\/p>\n<p><!--The last problem is more difficult than the previous two. If you get stuck, feel free to skip to the next lesson. You can always check which problems you have completed or skipped by going to the <a title=\"My Progress\" href=\"\/user-page\/\">My Progress<\/a> page.--><\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform15\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox15'>\n<img title='You have not yet completed this problem.' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/files\/icon.png' class='pycheck'\/><div class=\"heading\"><span class='type'>Coding Exercise: <\/span><span class='title'>Al\u0131\u015fveri\u015f<\/span><\/div>Et ve s\u00fct almaya gideceksiniz ama KDV'si var. 4 liral\u0131k s\u00fct, 8 liral\u0131k et al\u0131yorsunuz ve vergi de %3. Al\u0131\u015fveri\u015finizin toplam tutar\u0131n\u0131 yazd\u0131r\u0131n (print). (Para birimini yazd\u0131rman\u0131za gerek yok.) <a class=\"hintlink\"  id=\"hintlink16\">\u0130pucu<\/a><div class=\"helpOuter\" style=\"display: none;\"><div class=\"helpInner\"><div style=\"text-align: center\">You need to create an account and log in to ask a question.<\/div><\/div><\/div><div class='pyboxTextwrap pyboxCodewrap RW resizy'  style='height: 526px;'><textarea wrap='off' name='usercode15' id='usercode15'  cols=10 rows=20   class='pyboxCode RW'>\nmeatPrice = 4.00\nmeatTax = 0.03 * meatPrice\nmilkPrice = 2.00\nmilkTax = 0.03 * milkPrice\nprint(meatTax + meatPrice + milkTax + meatPrice)\n<\/textarea><\/div>\n<div id='pbhistory15' class='flexcontain' style='display:none;'><\/div>\n<input type='hidden' id='defaultCode15' value='meatPrice = 4.00\\nmeatTax = 0.03 * meatPrice\\nmilkPrice = 2.00\\nmilkTax = 0.03 * milkPrice\\nprint(meatTax + meatPrice + milkTax + meatPrice)\\n'><\/input>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit15' value=' '\/><\/td>\n<td><input type='button' name='history' value=\"History\" onclick=\"historyClick(15,'1e.shopping')\" ><\/td>\n<td><input type='button' name='default' value=\"Reset code to default\" onclick=\"pbSetText(15,descape($('#defaultCode15').val()))\" ><\/td>\n<td><input type='button' name='help' value=\"Help\" onclick=\"helpClick(15);\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse15\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"15\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"6fe11290a4bc66f00579849e9aeb8e15\"\/>\n<div id='pbresults15' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>document.getElementById(\"submit15\").value = \"Run program\";document.getElementById(\"inputInUse15\").value = \"N\";<\/script>\n<\/p>\n<p>T\u00fcm buglar\u0131 yok ettiyseniz, bir sonraki derse ge\u00e7ebiliriz!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ne kadar \u00e7ok program yazarsan\u0131z hatalarla (error ve bug) kar\u015f\u0131la\u015fma ihtimaliniz o kadar artar. Hatan\u0131n sebebini bulmak ve anlamak, sonra da hatalar\u0131 tamir etmek program yazman\u0131n \u00f6nemli bir par\u00e7as\u0131d\u0131r.\u00a0Python, sizin ondan yapman\u0131z\u0131 istedi\u011finiz her i\u015flemi ger\u00e7ekle\u015ftirmek i\u00e7in elinden geleni yapacakt\u0131r, &hellip; <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/1-tr-errors\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-10550","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/10550","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/comments?post=10550"}],"version-history":[{"count":24,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/10550\/revisions"}],"predecessor-version":[{"id":11017,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/10550\/revisions\/11017"}],"wp:attachment":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/media?parent=10550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}