{"id":10794,"date":"2018-02-16T23:17:03","date_gmt":"2018-02-17T04:17:03","guid":{"rendered":"https:\/\/cscircles.cemc.uwaterloo.ca\/?page_id=10794"},"modified":"2018-07-07T00:00:51","modified_gmt":"2018-07-07T04:00:51","slug":"9-tr-else-and-or-not","status":"publish","type":"page","link":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/9-tr-else-and-or-not\/","title":{"rendered":"9: Else, And, Or, Not"},"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>Bu derste \u00f6\u011freneceklerinizle karma\u015f\u0131k durum kontrol\u00fc i\u015flemlerini, Python'un iki \u00f6zelli\u011fini kullanarak \u00e7ok daha incelikle yapabileceksiniz.<\/p>\n<ul>\n<li>Bir\u00a0<code>if \u00abC\u00bb<\/code> ifadesinin ard\u0131ndan gelen<code>else<\/code> ifadesi e\u011fer\u00a0\u00a0<code>C<\/code><em>false (yanl\u0131\u015f) <\/em>ise i\u015fleme konur<\/li>\n<li>Boolean \u015fart yap\u0131lar\u0131n\u0131\u00a0\u00a0<code>A and B<\/code>, <code>A or B<\/code>, ve\u00a0<code>not A<\/code>\u00a0(ve, veya, de\u011fil) ba\u011fla\u00e7lar\u0131 ile kullanabilirsiniz<code><\/code><\/li>\n<\/ul>\n<h1><code>else<\/code><\/h1>\n<p>Program yazarken genelde bir durumu kontrol ederek, durumun do\u011fru veya yanl\u0131\u015fl\u0131\u011f\u0131na g\u00f6re, bir i\u015flemin ya da di\u011ferinin yap\u0131lmas\u0131na karar vermek gerekir.\u00a0\u00a0<a href=\"\/6-if\/\">Daha \u00f6nce<\/a>, size verdi\u011fimiz bir al\u0131\u015ft\u0131rmada <code>ya\u015f<\/code>\u00a00'dan k\u00fc\u00e7\u00fckse bir \u015fey, e\u011fer\u00a0<code>ya\u015f<\/code>\u00a00'dan k\u00fc\u00e7\u00fck de\u011filse ba\u015fka bir \u015fey yapman\u0131z\u0131 istemi\u015ftik; kod da \u015f\u00f6yle idi:<\/p>\n<pre>if ya\u015f &gt;= 0: \u00a0\r\n  print('Zaman yolcusu say\u0131lmazs\u0131n')\r\nif ya\u015f &lt; 0:\r\n \u00a0print('Sen bir zaman yolcususun')<\/pre>\u015eimdi ayn\u0131 kodu\u00a0<code>else<\/code>\u00a0(de\u011filse) kullanarak tekrar yazal\u0131m.<\/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=\"title\">Example<\/span><\/div>\u00a0<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 136px;'><textarea wrap='off' name='usercode0' id='usercode0'  cols=10 rows=5 readonly='readonly'  style = 'height : 136px;'  class='pyboxCode RO'>\nya\u015f = int(input())\nif age &gt;= 0:\n  print('Zaman yolcusu say\u0131lmazs\u0131n')\nelse:    # \u0130kinci bir 'if' yerine!\n  print('Sen bir zaman yolcususun')<\/textarea><\/div>\n<div id='pbhistory0' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput0\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit0' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch0\" value=\"Input Switch\" onclick=\"pbInputSwitch(0,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(0)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(0,'N')\" ><\/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=\"2e9f2838a3259c96a992098668e16928\"\/>\n<div id='pbresults0' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>pbInputSwitch(0,\"N\");<\/script>\n<\/p>\n<p>Daha genel olarak,\u00a0<code>else<\/code>\u00a0yap\u0131s\u0131n\u0131 a\u015fa\u011f\u0131daki blok formuyla kullan\u0131r\u0131z:<\/p>\n<pre>if \u00abtest\u00bb:\r\n   \u00abdo\u011fru-g\u00f6vde (true-body)\u00bb        # girintili blok\r\nelse:\r\n   \u00abyanl\u0131\u015f-g\u00f6vde (false-body)\u00bb       # ba\u015fka bir girintili blok<\/pre>Python testi de\u011ferlendirir. E\u011fer do\u011fru ise true-body, yanl\u0131\u015f ise false-body i\u015fleme konur.<\/p>\n<h2>\u00a0<code>else<\/code>\u00a0Yap\u0131s\u0131n\u0131n Felsefesi<\/h2>\n<p><code>else<\/code>\u00a0ba\u011flac\u0131n\u0131 kullanmakla yeni g\u00fc\u00e7ler kazanm\u0131yoruz, ama kodu okumak, hatalar\u0131 ay\u0131klamak ve s\u00fcrd\u00fcrmek \u00e7ok daha kolay oluyor. Ayn\u0131 i\u015flemi yapan iki farkl\u0131 kod par\u00e7as\u0131na bakal\u0131m:<\/p>\n<table id=\"AB\">\n<tbody>\n<tr>\n<td>\n<div>A Versiyonu<\/div>\n<pre>if boy &lt; 256:\r\n   print('Bu s\u00fcr\u00fc\u015f i\u00e7in \u00e7ok k\u0131sa')\r\nelse:\r\n   print('Ho\u015fgeldiniz!')<\/pre>\n<\/td>\n<td>\n<div>B Versiyonu<\/div>\n<pre>if boy &lt; 256:\r\n   print('Bu s\u00fcr\u00fc\u015f i\u00e7in \u00e7ok k\u0131sa')\r\nif boy &gt;= 256:\r\n   print('Ho\u015fgeldiniz!')<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u0130kisi de ayn\u0131 i\u015flemi yapar, hatta\u00a0\u00a0<strong>B<\/strong> versiyonunda\u00a0\u00a0<code>else<\/code>\u00a0ba\u011flac\u0131na gerek bile yok. Yine de programc\u0131lar\u0131n \u00e7o\u011fu <strong>A<\/strong> versiyonunun daha iyi oldu\u011fu konusunda hemfikir olacaklard\u0131r. \u00d6rne\u011fin \u015fart\u0131 de\u011fi\u015ftirsek (diyelim 256 yerine 128 yazsak) A versiyonunda sadece tek bir de\u011fi\u015fiklik yapmam\u0131z gerekir. Ayr\u0131ca insan zihni i\u00e7in A versiyonu an\u0131nda anla\u015f\u0131l\u0131r; B'de ise iki ifadenin de do\u011fru olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek ve d\u00fc\u015f\u00fcnmek gerekir.<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform1\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox1'>\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'>Kesin De\u011fer<\/span><\/div>Kesin de\u011fer \u015fu \u015fekilde belirlenecek: Pozitif veya 0 olan x say\u0131s\u0131 i\u00e7in, x'in kesin de\u011feri x'tir.\u00a0 x bir negatif say\u0131 oldu\u011funda ise x'in kesin de\u011feri -x olacakt\u0131r, ba\u015fka bir deyi\u015fle say\u0131 yine x olacak ama - i\u015fareti olmadan. Mesela\u00a0<code>5<\/code>\u00a0say\u0131s\u0131n\u0131n kesin de\u011feri\u00a0<code>5<\/code>\u00a0,\u00a0\u00a0<code>-10<\/code>\u00a0say\u0131s\u0131n\u0131n ise\u00a0<code>10<\/code>\u00a0olur.\u00a0 <code>if<\/code> ve\u00a0<code>else<\/code>\u00a0 kullanarak bir program yaz\u0131n, input olarak bir tamsay\u0131 als\u0131n ve output olarak onun kesin de\u011ferini yazs\u0131n.<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='usercode1' id='usercode1'  cols=10 rows=20   class='pyboxCode RW'>\nx=int(input())\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory1' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput1\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<input type='hidden' id='defaultCode1' value='x=int(input())\\n'><\/input>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit1' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch1\" value=\"Input Switch\" onclick=\"pbInputSwitch(1,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(1)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(1,'N')\" ><\/td>\n<\/tr><\/table><select id='pbSelect1' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(1,'9.abs')\" >History<\/option>\n<option name='default' data-pbonclick=\"pbSetText(1,descape($('#defaultCode1').val()))\" >Reset code to default<\/option>\n<option name='help' data-pbonclick=\"helpClick(1);\" >Help<\/option>\n<\/select><\/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=\"9448f8d49d74607778cd2e2752c046be\"\/>\n<div id='pbresults1' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(1);});pbInputSwitch(1,\"N\");<\/script>\n<\/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> Python'un\u00a0\u00a0<code>abs(x)<\/code>\u00a0\u015feklinde dahili bir fonksiyonu vard\u0131r,\u00a0\u00a0<code>x<\/code>\u00a0say\u0131s\u0131n\u0131n kesin de\u011ferini hesaplamakta kullan\u0131l\u0131r. D\u00fczenleyici bu al\u0131\u015ft\u0131rmada bu fonksiyonu kullanman\u0131za izin vermiyor, ama daha sonra kullanabileceksiniz. <\/span><\/td><\/table><\/p>\n<h2><code>elif<\/code><\/h2>\n<p>Python'da kullan\u0131\u011f\u0131m\u0131z bir ba\u015fka anahtar kelime de\u00a0<code>elif<\/code>, bu ba\u011fla\u00e7la bir seferde birka\u00e7 \u015fart\u0131 ayn\u0131 anda kontrol edebiliriz.\u00a0 \u00a0<code>elif<\/code>\u00a0yap\u0131s\u0131n\u0131n en temel kullan\u0131m\u0131 \u015f\u00f6yledir:<\/p>\n<pre>if \u00abtest1\u00bb:\r\n   \u00abbody1\u00bb        # E\u011fer test1 do\u011fru ise bu g\u00f6vde i\u015fleme konur\r\nelif \u00abtest2\u00bb:\r\n   \u00abbody2\u00bb        # E\u011fer test1 yanl\u0131\u015f ve test2 do\u011fru ise bu g\u00f6vde i\u015fleme konur<\/pre>Tahmin edece\u011finiz gibi\u00a0<code>elif<\/code>\u00a0 \"else if\" ba\u011flac\u0131n\u0131n k\u0131saltmas\u0131d\u0131r, \u00e7\u00fcnk\u00fc bu else i\u00e7ine yere\u015ftirilmi\u015f bir if yap\u0131s\u0131 ile ayn\u0131 \u015feydir\u00a0 Ama bununla daha az kod yazm\u0131\u015f ve daha az girinti katman\u0131 kullanm\u0131\u015f oluruz, b\u00f6ylece, okumas\u0131, hata ay\u0131klamas\u0131 ve d\u00fczenlemesi daha kolay olur. \u00dcstelik istedi\u011finiz say\u0131da elif ifadesini ayn\u0131 yap\u0131ya ekleyebilir ve en sona da gerek duyarsan\u0131z bir\u00a0\u00a0<code>else<\/code>\u00a0ifadesi koyabilirsiniz:<\/p>\n<pre>if \u00abtest1\u00bb:\r\n   \u00abbody1\u00bb      # test1 do\u011fru ise i\u015fleme konur\r\nelif \u00abtest2\u00bb:\r\n   \u00abbody2\u00bb      # test1 yanl\u0131\u015f, test2 do\u011fru ise i\u015fleme konur\r\nelif \u00abtest3\u00bb:\r\n   \u00abbody3\u00bb      # test1 &amp; test2 yanl\u0131\u015f ve test3 do\u011fru ise i\u015fleme konur\r\nelse:           # bu son iki sat\u0131r size kalm\u0131\u015f\r\n   \u00abelse-body\u00bb  # e\u011fer yukar\u0131dakilern hepsi yanl\u0131\u015fsa bu sat\u0131r i\u015fleme konur<\/pre>&nbsp;<\/p>\n<p>Burada bir d\u00f6ng\u00fc i\u00e7inde kullan\u0131lan\u00a0<code>elif<\/code> var. \u00c7al\u0131\u015ft\u0131rmadan sonucu tahmin edebilir misiniz?<\/p>\n<p><iframe width='100%' height='480' frameborder='0' scrolling='no' src='https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-content\/plugins\/pybox\/OnlinePythonTutor3-cemc\/iframe-embed.html#code=for+x+in+range%281%2C+10%29%3A%0A++if+x+%25+2+%3D%3D+0%3A%0A++++print%28x%2C+%27%C3%A7ift+say%C4%B1%27%29%0A++elif+x+%25+3+%3D%3D+0%3A%0A++++print%28x%2C+%273%27%C3%BCn+kat%C4%B1+bir+tek+say%C4%B1d%C4%B1r%27%29%0A++else%3A%0A++++print%28x%2C+%272+veya+3%27e+b%C3%B6l%C3%BCnmez%27%29&cumulative=false&heapPrimitives=false&drawParentPointers=false&textReferences=false&showOnlyOutputs=false&py=3&curInstr=0&resizeContainer=true&highlightLines&width=450px&rightStdout=1'><\/iframe><\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform2\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox2'>\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'>Birinci, \u0130kinci, \u00dc\u00e7\u00fcnc\u00fc<\/span><\/div>1'inci, 2'nci 3'\u00fcnc\u00fc, 4'\u00fcnc\u00fc, 5'inci, 6'nc\u0131, 7'nci, 8'inci, 9'uncu kelimeleri s\u0131ra say\u0131 s\u0131fat\u0131 olarak adland\u0131r\u0131l\u0131r. Inputtan 1 ve 9 aras\u0131 x say\u0131s\u0131n\u0131 alan ve bu say\u0131y\u0131 s\u0131ra say\u0131 formunda yazd\u0131ran bir program yaz\u0131n.\u00a0<br\/> <strong>\u0130pucu<\/strong>: 9 farkl\u0131 \u015fart yap\u0131s\u0131 yazman\u0131za gerek olmayacak, 5 tane yeterli.<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='usercode2' id='usercode2'  cols=10 rows=20   class='pyboxCode RW'>\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory2' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput2\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit2' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch2\" value=\"Input Switch\" onclick=\"pbInputSwitch(2,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(2)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(2,'N')\" ><\/td>\n<\/tr><\/table><select id='pbSelect2' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(2,'9.ordinal')\" >History<\/option>\n<option name='help' data-pbonclick=\"helpClick(2);\" >Help<\/option>\n<\/select><\/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=\"ec77e49ec79ed09fac685cb0da1b4559\"\/>\n<div id='pbresults2' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(2);});pbInputSwitch(2,\"N\");<\/script>\n<\/p>\n<h2>Boolean Operat\u00f6rleri: <code>and<\/code>, <code>or<\/code>, <code>not<\/code><\/h2>\n<p>Boolean ifadelerini \"<code>and<\/code>\", \"<code>or<\/code>\", ve \"<code>not<\/code>\" (ve, veya, de\u011fil) ba\u011fla\u00e7lar\u0131yla birle\u015ftirebilirsiniz.<\/p>\n<ul>\n<li><code>A and B<\/code>\u00a0birle\u015fik ifadesi, bile\u015fenlerinin ikisi de,<code>A<\/code> ve\u00a0\u00a0<code>B<\/code>\u00a0do\u011fru ise do\u011frudur, bile\u015fenlerinden bir tanesi yanl\u0131\u015fsa yanl\u0131\u015ft\u0131r. (\u00d6rne\u011fin, E\u011fer ya\u011fmur ya\u011f\u0131yorsa<code>and<\/code>\u00a0(ve) \u015femsiyenizini unuttuysan\u0131z, \u0131slan\u0131rs\u0131n\u0131z.)<\/li>\n<li><code>A or B<\/code> birle\u015fik ifadesi, bile\u015fenlerinden bir tanesi,\u00a0\u00a0<code>A<\/code> veya\u00a0<code>B<\/code>\u00a0do\u011fru ise do\u011frudur; ikisi de yanl\u0131\u015fsa yanl\u0131\u015ft\u0131r. (Mesela, Haftasonu ise\u00a0<code>or<\/code>\u00a0(veya) tatil ise, okul kapal\u0131d\u0131r.)<\/li>\n<li><code>not A<\/code>\u00a0ifadesi,\u00a0<code>A<\/code>\u00a0yanl\u0131\u015f oldu\u011fu durumda do\u011frudur, e\u011fer\u00a0\u00a0<code>A<\/code> do\u011fru ise yanl\u0131\u015ft\u0131r. (\u00d6rne\u011fin,<code>not<\/code>\u00a0yemek ye(me)di ise, karn\u0131 a\u00e7t\u0131r.)<\/li>\n<\/ul>\n<p>T\u00fcm olas\u0131l\u0131klar\u0131 g\u00f6r\u00fcnt\u00fcleyen bir program. Okulda \u00f6\u011frendi\u011fimiz \u00e7arp\u0131m tablosu gibi, ama bunun ad\u0131 <em>hakikat<\/em> tablosu.<\/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=\"title\">Example<\/span><\/div>Hakikat Tablosu<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 136px;'><textarea wrap='off' name='usercode3' id='usercode3'  cols=10 rows=5 readonly='readonly'  style = 'height : 136px;'  class='pyboxCode RO'>\nprint(\"  A      B       not A  not B  A and B  A or B\")\nprint(\"----------------------------------------------\")\nfor A in [False, True]:               # \"for\" loop with list\t\n    for B in [False, True]:           # will be taught in lesson 13\n        print(A, \" \", B, \"   \", not A, \" \", not B, \" \", A and B, \" \", A or B)<\/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<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(3)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(3,'N')\" ><\/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=\"23fac91eb493ba893eb781d9128bd39c\"\/>\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>Hatalar\u0131 da kontrol ederek say\u0131lar\u0131 harflere \u00e7eviren bir programda\u00a0<code>and<\/code>\u00a0(ve) kullan\u0131m\u0131n\u0131 g\u00f6relim.<br \/>\n<form class=\"pbform\" action=\"#\" id=\"pbform4\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox4'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div><code>and<\/code>\u00a0kullan\u0131m\u0131na bir \u00f6rnek: say\u0131lar\u0131n harflere \u00e7evrimi, 1=A, 2=B, vb. form\u00fcl\u00fc ile.<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 136px;'><textarea wrap='off' name='usercode4' id='usercode4'  cols=10 rows=5 readonly='readonly'  style = 'height : 136px;'  class='pyboxCode RO'>\nx = int(input())\nif x>=1 and x<=26:\n    print('letter', x, 'in the alphabet:', chr(ord('A')+(x-1)))\nelse:\n    print('invalid input:', x)<\/textarea><\/div>\n<div id='pbhistory4' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput4\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit4' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch4\" value=\"Input Switch\" onclick=\"pbInputSwitch(4,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(4)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(4,'N')\" ><\/td>\n<\/tr><\/table><\/div>\n<input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" id=\"inputInUse4\" name=\"inputInUse\" value=\"Y\"\/>\n<input type=\"hidden\" name=\"pyId\" value=\"4\"\/>\n<input type=\"hidden\" name=\"hash\" value=\"4b610da4b77d47e08a914c94baf24596\"\/>\n<div id='pbresults4' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>pbInputSwitch(4,\"N\");<\/script>\n<\/p>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform5\" method=\"POST\">\n<div class='pybox modeNeutral ' id='pybox5'>\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'>26 Harf<\/span><\/div>Yukar\u0131daki i\u015flemi tersten yapan bir program yaz\u0131n: Input olarak bir karakter als\u0131n ve onun kar\u015f\u0131l\u0131k geldi\u011fi say\u0131y\u0131 yazs\u0131n (1 ve 26 aras\u0131). Program\u0131n\u0131z sadece b\u00fcy\u00fck harfleri kabul etsin.\u00a0Hata kontrol\u00fc yaparak, e\u011fer harf b\u00fcy\u00fck de\u011filse\u00a0<code>ge\u00e7ersiz<\/code>\u00a0yazd\u0131rs\u0131n. <a class=\"hintlink\"  id=\"hintlink6\">\u0130pucu<\/a><a class=\"hintlink\"  id=\"hintlink7\">String kar\u015f\u0131la\u015ft\u0131rma metodunu de\u011fi\u015ftirin.<\/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='usercode5' id='usercode5'  cols=10 rows=20   class='pyboxCode RW'>\nharf = input()\n# delete this comment and enter your code here\n<\/textarea><\/div>\n<div id='pbhistory5' class='flexcontain' style='display:none;'><\/div>\n<div name=\"pyinput\" id=\"pyinput5\">You may enter input for the program in the box below.<div class=\"pyboxTextwrap resizy\" style=\"height: 102px;\" ><textarea wrap=\"off\" name=\"userinput\" class=\"pyboxInput\" cols=10 rows=4><\/textarea><\/div><\/div>\n<input type='hidden' id='defaultCode5' value='harf = input()\\n'><\/input>\n<div class='pyboxbuttons'><table><tr>\n<td><input type='submit' name='submit' id='submit5' value=' '\/><\/td>\n<td><input type='button' name='switch' id=\"switch5\" value=\"Input Switch\" onclick=\"pbInputSwitch(5,'N')\" ><\/td>\n<td><input type='button' name='consolecopy' value=\"Open in console\" onclick=\"pbConsoleCopy(5)\" ><\/td>\n<td><input type='button' name='visualize' value=\"Visualize\" onclick=\"pbVisualize(5,'N')\" ><\/td>\n<\/tr><\/table><select id='pbSelect5' class='selectmore'><option name='more'>More actions...<\/option>\n<option name='history' data-pbonclick=\"historyClick(5,'9.numberify')\" >History<\/option>\n<option name='default' data-pbonclick=\"pbSetText(5,descape($('#defaultCode5').val()))\" >Reset code to default<\/option>\n<option name='help' data-pbonclick=\"helpClick(5);\" >Help<\/option>\n<\/select><\/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=\"0cec356ea8bee13ba34c56ecd4f998cd\"\/>\n<div id='pbresults5' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>jQuery(function(){pbToggleCodeMirror(5);});pbInputSwitch(5,\"N\");<\/script>\n<\/p>\n<div class='pybox modeNeutral' id='pybox8'>\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'>Multiple Choice Exercise: <\/span><span class='title'>De Morgan Kanunu<\/span><\/div><div>A\u015fa\u011f\u0131daki ifadelerden hangisi\u00a0\u00a0<code>A or B<\/code>\u00a0ifadesine denktir?<\/div><label>Your choice: <\/label><select id=\"pyselect8\"><option value=\"d\" selected>Select one<\/option><option value=\"w\">not (A and B)<\/option><option value=\"r\">not ((not A) and (not B))<\/option><option value=\"w\">(not A) and (not B)<\/option><\/select><div class='pyboxbuttons'><input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" name=\"slug\" value=\"9.demorgan\"\/><input type='submit' style='margin:5px;' value='Check answer' onClick='pbMultiCheck(8)'\/><\/div><div class=\"pbresults\" id=\"pyMultiResults8\"><\/div><div class=\"epilogue\">Correct! Here is one way to arrive at this answer. First, <code>not (A or B)<\/code> is only true when both <code>A<\/code> and <code>B<\/code> are false. Also, note that <code>(not A) and (not B)<\/code> is only true if both <code>not A<\/code> and <code>not B<\/code> are true, i.e. if both <code>A<\/code> and <code>B<\/code> are false. So we have the following equality:<pre>(not A) and (not B) = not (A or B)<\/pre>Put a <code>not<\/code> around both sides, so we deduce<pre>not ((not A) and (not B)) = not (not (A or B))<\/pre>and observe that <code>not(not X))<\/code> always equals <code>X<\/code>, so<pre>not ((not A) and (not B)) = not (not (A or B)) = A or B<\/pre>This way of rewriting a boolean expression is one of <a href='http:\/\/en.wikipedia.org\/wiki\/De_Morgan%27s_laws'>De Morgan&#39;s laws<\/a>.<\/div><\/div>\n<h3>\u0130\u015flemlerin S\u0131ralamas\u0131<\/h3>\n<p><span style=\"color: #444444; line-height: 24px;\">Boolean operat\u00f6rlerinin de t\u0131pk\u0131 matematik i\u015flemleri gibi\u00a0 \"i\u015flem s\u0131ralamas\u0131\" vard\u0131r. S\u0131ralama \u015f\u00f6yledir<\/span><\/p>\n<p style=\"text-align: center;\"><strong>NAO<\/strong>: not (en y\u00fcksek \u00f6ncelik), and, or (en d\u00fc\u015f\u00fck \u00f6ncelik)<\/p>\n<p style=\"text-align: left;\">yani \u00f6rne\u011fin,<\/p>\n<p style=\"text-align: center;\"><code>not x or y and z<\/code> <span style=\"padding-right: 40px; padding-left: 40px;\">anlam\u0131<\/span> <code>(not x) or (y and z)<\/code><\/p>\n<p>Dersimizi bu unsurlar\u0131 kullanaca\u011f\u0131m\u0131z bir soruyla bitirelim.<br \/>\n<div class='pybox modeNeutral' id='pybox9'>\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'>Multiple Choice Exercise: <\/span><span class='title'>\u0130\u015flemlerin S\u0131ras\u0131<\/span><\/div><div>A\u015fa\u011f\u0131daki ifadenin <\/p>\n<pre>A or not B and C<\/pre> de\u011feri nedir; if (A, B, C) = (False, True, True)? <a class=\"hintlink\"  id=\"hintlink10\">\u0130pucu<\/a><\/div><label>Your choice: <\/label><select id=\"pyselect9\"><option value=\"d\" selected>Select one<\/option><option value=\"r\">False<\/option><option value=\"w\">True<\/option><\/select><div class='pyboxbuttons'><input type=\"hidden\" name=\"lang\" value=\"\"\/><input type=\"hidden\" name=\"slug\" value=\"9.multi\"\/><input type='submit' style='margin:5px;' value='Check answer' onClick='pbMultiCheck(9)'\/><\/div><div class=\"pbresults\" id=\"pyMultiResults9\"><\/div><div class=\"epilogue\">Correct! The order of operations makes this equivalent to<pre>A or ((not B) and C)<\/pre>substituting the values, we have<pre>False or ((not True) and True)<\/pre>and now simplifying one step at a time gives<pre>False or ((not True) and True)<br\/>= False or (False and True)<br\/>= False or False<br\/>= False<\/pre><\/div><\/div>Bunu bitirdi\u011finiz zaman, sonraki derse ge\u00e7meye haz\u0131rs\u0131n\u0131z.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bu derste \u00f6\u011freneceklerinizle karma\u015f\u0131k durum kontrol\u00fc i\u015flemlerini, Python'un iki \u00f6zelli\u011fini kullanarak \u00e7ok daha incelikle yapabileceksiniz. Bir\u00a0if \u00abC\u00bb ifadesinin ard\u0131ndan gelenelse ifadesi e\u011fer\u00a0\u00a0Cfalse (yanl\u0131\u015f) ise i\u015fleme konur Boolean \u015fart yap\u0131lar\u0131n\u0131\u00a0\u00a0A and B, A or B, ve\u00a0not A\u00a0(ve, veya, de\u011fil) ba\u011fla\u00e7lar\u0131 ile &hellip; <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/9-tr-else-and-or-not\/\">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-10794","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/10794","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=10794"}],"version-history":[{"count":9,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/10794\/revisions"}],"predecessor-version":[{"id":11030,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/10794\/revisions\/11030"}],"wp:attachment":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/media?parent=10794"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}