{"id":10644,"date":"2018-01-22T02:46:16","date_gmt":"2018-01-22T07:46:16","guid":{"rendered":"https:\/\/cscircles.cemc.uwaterloo.ca\/?page_id=10644"},"modified":"2018-07-07T00:00:01","modified_gmt":"2018-07-07T04:00:01","slug":"5-tr-input","status":"publish","type":"page","link":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/5-tr-input\/","title":{"rendered":"5: Input"},"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>Son dersimizde kullan\u0131c\u0131 inputlar\u0131ndan bahsetmi\u015f, ama kullan\u0131c\u0131 inputunun nas\u0131l elde edildi\u011fini a\u00e7\u0131klamam\u0131\u015ft\u0131k. Python'da kullan\u0131c\u0131 tek seferde tek sat\u0131rl\u0131k giri\u015f yapabilir. Bunu sa\u011flamak i\u00e7in kulland\u0131\u011f\u0131m\u0131z\u00a0\u00a0<code><code>input()<\/code><\/code> fonksiyonuyla kullan\u0131c\u0131dan bir de\u011fer girmesini isteriz.\u00a0\u00a0<code>input()<\/code> fonksiyonu hi\u00e7 arg\u00fcman almaz ve kullan\u0131c\u0131n girdi\u011fi input\u00a0<code>str<\/code>\u00a0tipinde \u00e7\u0131kt\u0131 verir.<\/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> Bu websayfas\u0131nda t\u00fcm girdiler program \u00e7al\u0131\u015ft\u0131r\u0131lmadan \u00f6nce belirtilmelidir.\u00a0<a href=\"\/run-at-home\/\">Python interaktif olarak evde \u00e7al\u0131\u015ft\u0131r\u0131l\u0131rsa<\/a>\u00a0<code>input()<\/code> fonksiyonu program\u0131 durdurur ve kullan\u0131c\u0131n\u0131n bir sat\u0131r tekst girmesini bekler. <br\/> Ayr\u0131ca, interaktif \u00e7al\u0131\u015f\u0131rken,\u00a0<code>input()<\/code>\u00a0herhangi bir stringi input olarak kabul eder ve kullan\u0131c\u0131n\u0131n komutu olarak yorumlar. \u00d6rn., <\/p>\n<pre>say\u0131 = input(\"0 ve 100 aras\u0131 bir say\u0131 girin. \")<\/pre>  <\/span><\/td><\/table><\/p>\n<p>Bir input (kullan\u0131c\u0131 girdisi) elde etmek i\u00e7in\u00a0<code>input()<\/code>\u00a0fonksiyonunun nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131 bir \u00f6rnekle g\u00f6relim. D\u00fczenleyici inputu program i\u00e7in otomatik olarak belirtecek.<\/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>Bir sat\u0131r metnin yank\u0131s\u0131<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 58px;'><textarea wrap='off' name='usercode0' id='usercode0'  cols=10 rows=2 readonly='readonly'  style = 'height : 58px;'  class='pyboxCode RO'>\nsat\u0131r = input()\nprint(\"Inputun ik sat\u0131r\u0131:\", sat\u0131r)<\/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<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=\"bd776630e771ad3c99ded059e8711de6\"\/>\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>Bir sonraki \u00f6rne\u011fin g\u00f6sterdikleri:<\/p>\n<ul>\n<li><code style=\"color: #000000;\">input()<\/code>\u00a0fonksiyonunu \u00fcst\u00fcste \u00e7a\u011f\u0131rarak \u00e7ok sat\u0131rl\u0131 input \u00e7\u0131kt\u0131s\u0131 alabiliriz.\u00a0 \u0130lk\u00a0<code style=\"color: #000000;\">input()<\/code>\u00a0fonksiyonuyla ilk sat\u0131r\u0131, ikincisiyle ikinci sat\u0131r\u0131 vd. al\u0131r\u0131z.<\/li>\n<li><code style=\"color: #000000; font-style: inherit;\">input()<\/code> fonksiyonu ile al\u0131nan string,\u00a0<code style=\"color: #000000; font-style: inherit;\">int<\/code>\u00a0veya\u00a0<code style=\"color: #000000; font-style: inherit;\">float<\/code>\u00a0tipine d\u00f6n\u00fc\u015ft\u00fcr\u00fclebilir. (4. derste yapm\u0131\u015ft\u0131k.)<\/li>\n<li>\u0130kinci test durumunda, inputun \u00fc\u00e7\u00fcnc\u00fc sat\u0131r\u0131 okunmad\u0131 \u00e7\u00fcnk\u00fc\u00a0<code>input()<\/code>\u00a0sadece iki kez \u00e7a\u011fr\u0131ld\u0131.<\/li>\n<\/ul>\n<p><form class=\"pbform\" action=\"#\" id=\"pbform1\" method=\"POST\">\n<div class='pybox modeNeutral  facultative' id='pybox1'>\n<div class=\"heading\"><span class=\"title\">Example<\/span><\/div>\u00a0<div class='pyboxTextwrap pyboxCodewrap RO '  style='height: 110px;'><textarea wrap='off' name='usercode1' id='usercode1'  cols=10 rows=4 readonly='readonly'  style = 'height : 110px;'  class='pyboxCode RO'>\ninputString = input()\nbirFloat = float(inputString)\nprint(birFloat + 1)\nprint('\u0130kinci sat\u0131r:', input())<\/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<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><\/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=\"5c15fcc54686045dc91b746c2feaa238\"\/>\n<div id='pbresults1' class='pbresults'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>pbInputSwitch(1,\"N\");<\/script>\n<\/p>\n<p>Buradan itibaren al\u0131\u015ft\u0131rmalar\u0131n \u00e7o\u011funda test i\u00e7in input girme \u015fans\u0131n\u0131z olacak. Bir al\u0131\u015ft\u0131rma yapal\u0131m: A\u015fa\u011f\u0131daki <strong>Input girin<\/strong> d\u00fc\u011fmesine bas\u0131n. Input metin kutusunu bo\u015f b\u0131rak\u0131n. Sonra, <strong>Testi \u00e7al\u0131\u015ft\u0131r<\/strong>\u00a0 d\u00fc\u011fmesine bas\u0131n. B\u00f6yle bir hata al\u0131rs\u0131n\u0131z<\/p>\n<pre>EOFError: EOF when reading a line<\/pre><strong>EOF<\/strong> k\u0131saltmas\u0131\u00a0<strong>E<\/strong>nd <span style=\"color: #000000;\"><strong>O<\/strong>f <strong>F<\/strong>ile (dosyan\u0131n sonu) kelimelerinin ilk harflerinden olu\u015fuyor. Bu mesajdan program\u0131n\u00a0\u00a0<code>input()<\/code>\u00a0fonksiyonunu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131 ama okunacak bir input bulamad\u0131\u011f\u0131n\u0131 anl\u0131yoruz.<\/span><\/p>\n<ul>\n<li>Derslerimizde input genellikle d\u00fczenleyici taraf\u0131ndan otomatik veriliyor, o h\u00e2lde bu hata mesaj\u0131 program\u0131n\u0131z\u0131n\u00a0<code>input()<\/code>\u00a0fonksiyonunu \u00e7ok fazla kere \u00e7a\u011f\u0131rd\u0131\u011f\u0131, program\u0131n bitti\u011fi ve d\u00fczenleyicinin inputunun sonuna gelindi\u011fi\u00a0 anlam\u0131na geliyor.<\/li>\n<li>Bu al\u0131\u015ft\u0131rmada ortaya \u00e7\u0131kan hata, input\u00a0kullan\u0131c\u0131 taraf\u0131ndan sa\u011flan\u0131yordu ve siz input girmemeyi se\u00e7tiniz, b\u00f6ylece \u00a0<code>input()<\/code> fonksiyonunun ilk kez \u00e7a\u011fr\u0131lmas\u0131 bile fazla oldu.<\/li>\n<\/ul>\n<p>Sonraki al\u0131\u015ft\u0131rmada \u00e7al\u0131\u015fmayan program\u0131 \u00e7al\u0131\u015facak h\u00e2le getirmek i\u00e7in hatalar\u0131 ay\u0131klaman\u0131z (debug) gerekecek. Buradaki hata (bug), bir yaz\u0131m hatas\u0131 de\u011fil, burada bir mant\u0131k hatas\u0131 (<em>logical bug<\/em>) var: program yapmas\u0131 gereken i\u015fi yapabilecek \u015fekilde tasarlanmam\u0131\u015f, yani sizin onu biraz tekrar dizayn etmeniz gerekiyor.<\/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'>Yank\u0131<\/span><\/div>Bir program yaz\u0131n, inputun bir sat\u0131r\u0131n\u0131 okusun ve ayn\u0131 sat\u0131r\u0131 iki kez yazd\u0131rs\u0131n. Mesela, e\u011fer inputa \"Yank\u0131\" kelimesi girildiyse \u00e7\u0131kt\u0131 \u015f\u00f6yle olmal\u0131: <\/p>\n<pre>Yank\u0131<br\/>Yank\u0131<\/pre> A\u015fa\u011f\u0131daki \u00e7\u00f6z\u00fcm hatal\u0131, bunu d\u00fczeltelim. (\u00d6rnek \u00e7\u00f6z\u00fcm\u00fcn tamam\u0131n\u0131 silerek en ba\u015ftan kendiniz de yazabilirsiniz.) \u00a0<a class=\"hintlink\"  id=\"hintlink3\">\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='usercode2' id='usercode2'  cols=10 rows=20   class='pyboxCode RW'>\nprint(input())\nprint(input())\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<input type='hidden' id='defaultCode2' value='print(input())\\nprint(input())\\n'><\/input>\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,'5. yank\u0131')\" >History<\/option>\n<option name='default' data-pbonclick=\"pbSetText(2,descape($('#defaultCode2').val()))\" >Reset code to default<\/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=\"9527fc363c50be1de5b70ef7e36a6965\"\/>\n<div id='pbresults2' class='pbresults avoidline'><\/div>\n<\/div>\n<\/form>\n<script type='text\/javascript'>pbInputSwitch(2,\"N\");<\/script>\n<\/p>\n<p>Bir sonraki derse ge\u00e7ebiliriz, konumuz\u00a0<code><code>if<\/code><\/code>\u00a0(e\u011fer) ifadeleri olacak.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Son dersimizde kullan\u0131c\u0131 inputlar\u0131ndan bahsetmi\u015f, ama kullan\u0131c\u0131 inputunun nas\u0131l elde edildi\u011fini a\u00e7\u0131klamam\u0131\u015ft\u0131k. Python'da kullan\u0131c\u0131 tek seferde tek sat\u0131rl\u0131k giri\u015f yapabilir. Bunu sa\u011flamak i\u00e7in kulland\u0131\u011f\u0131m\u0131z\u00a0\u00a0input() fonksiyonuyla kullan\u0131c\u0131dan bir de\u011fer girmesini isteriz.\u00a0\u00a0input() fonksiyonu hi\u00e7 arg\u00fcman almaz ve kullan\u0131c\u0131n girdi\u011fi input\u00a0str\u00a0tipinde \u00e7\u0131kt\u0131 verir. &hellip; <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/5-tr-input\/\">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-10644","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/10644","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=10644"}],"version-history":[{"count":10,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/10644\/revisions"}],"predecessor-version":[{"id":11022,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/10644\/revisions\/11022"}],"wp:attachment":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/media?parent=10644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}