{"id":289,"date":"2011-03-31T14:55:31","date_gmt":"2011-03-31T11:55:31","guid":{"rendered":"http:\/\/python.pingviinitiivul.ee\/?p=289"},"modified":"2011-03-31T16:59:22","modified_gmt":"2011-03-31T13:59:22","slug":"kakskummend-kolm","status":"publish","type":"post","link":"https:\/\/python.pingviinitiivul.ee\/?p=289","title":{"rendered":"Kaksk\u00fcmmend kolm"},"content":{"rendered":"<p>Proovime veel k\u00f5ige lihtsamaid ol\u00fcmpiaadi\u00fclesandeid mitmete aastate tagant. \u00dcks on selline:<\/p>\n<p><strong>S\u00f5nastik<\/strong><br \/>\nKirjutada programm, mis kontrollib etteantud s\u00f5nastiku p\u00f5hjal s\u00f5nade \u00f5igekirja. (<a href=\"http:\/\/www.ttkool.ut.ee\/comp\/olymp\/index.html\">Allikas, 2006. aasta koolivooru algajate \u00fclesanne nr 3<\/a>.)<\/p>\n<p><strong>Sisend.<\/strong> Tekstifaili sonad.sis esimesel real on s\u00f5nastiku suurus M (0 \u2a7d M \u2a7d 10 000) ja<br \/>\nj\u00e4rgmisel M real iga\u00fchel \u00fcks v\u00e4ikestest ladina t\u00e4htedest koosnev s\u00f5ne pikkusega kuni 30 m\u00e4rki.<br \/>\nS\u00f5nastiku sisu on antud t\u00e4hestikulises j\u00e4rjekorras. Faili j\u00e4rgmisel real on p\u00e4ringute arv N<br \/>\n(1 \u2a7d N \u2a7d 10 000) ja j\u00e4rgmisel N real iga\u00fchel uks v\u00e4ikestest ladina t\u00e4htedest koosnev p\u00e4ringus\u00f5ne<br \/>\npikkusega kuni 30 m\u00e4rki.<\/p>\n<p><strong>V\u00e4ljund.<\/strong> Tekstifaili sonad.val v\u00e4ljastada t\u00e4pselt N rida, \u00fcks rida iga p\u00e4ringu kohta. Igale reale<br \/>\nv\u00e4ljastada s\u00f5na JAH v\u00f5i EI vastavalt sellele, kas p\u00e4ringus\u00f5ne kuulub v\u00f5i ei kuulu s\u00f5nastikku.<\/p>\n<p><strong>N\u00e4ide.<\/strong><br \/>\nFail: sonad.sis<br \/>\n3<br \/>\nkana<br \/>\nkass<br \/>\nkoer<br \/>\n3<br \/>\nkilu<br \/>\nkass<\/p>\n<p>Fail:sonad.val<br \/>\nEI<br \/>\nJAH<br \/>\nEI<\/p>\n<p>P\u00e4rast v\u00f5ime programmi nii \u00fcmber teha, et programm k\u00fcsib s\u00f5nu k\u00e4surealt ja ei arvesta\/arvestab vigu suurt\u00e4htedega.<\/p>\n<p>Lahendus (ilma s\u00f5napikkuse ja failipikkuse piiranguta):<br \/>\n<code><br \/>\n#!\/usr\/bin\/python<br \/>\n# -*- coding: utf-8 -*-<br \/>\nsonad = [] #s\u00f5nastiku j\u00e4rjekorra loomine<br \/>\nfail=open(\"sonad.sis\", \"r\") #avame sisendfaili<br \/>\nnumber=int(fail.readline()) #lugema numbri<\/p>\n<p>for i in range(0, number):  #vastavalt numbrile lugema arv kordi<br \/>\n&nbsp;&nbsp;&nbsp;   sonad.append(fail.readline().rstrip(\"\\n\")) #ja lisama s\u00f5nastikku<br \/>\n#(siis olemas sonastik k\u00f5igi s\u00f5nadega)<br \/>\nnumber=int(fail.readline()) #lugema veel numbri<\/p>\n<p>fh = open(\"sonad.val\", 'w') #avama v\u00e4ljundfaili kirjutamiseks<br \/>\nfor i in range(0, number):  #siis uus number kordi lugema s\u00f5nu<br \/>\n&nbsp;&nbsp;&nbsp;   sona = fail.readline().rstrip(\"\\n\")<br \/>\n&nbsp;&nbsp;&nbsp;   vordus = False<br \/>\n&nbsp;&nbsp;&nbsp;   for test in sonad :  #iga loetud s\u00f5na v\u00f5rdlema k\u00f5igi s\u00f5nadega s\u00f5nastikus<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      if sona == test :<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;         vordus = True<br \/>\n&nbsp;&nbsp;&nbsp;   if vordus :<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      fh.write(\"JAH\\n\") #kui saime, siis kirjutame JAH v\u00e4ljundfaili<br \/>\n&nbsp;&nbsp;&nbsp;   else :<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;      fh.write(\"EI\\n\") #kui \u00fchtegi vastet ei saanud, siis kirjutama EI v\u00e4ljundfaili<br \/>\nfh.close()   #sulgema v\u00e4ljundfaili<br \/>\nfail.close() #sulgema sisendfaili<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Proovime veel k\u00f5ige lihtsamaid ol\u00fcmpiaadi\u00fclesandeid mitmete aastate tagant. \u00dcks on selline: S\u00f5nastik Kirjutada programm, mis kontrollib etteantud s\u00f5nastiku p\u00f5hjal s\u00f5nade \u00f5igekirja. (Allikas, 2006. aasta koolivooru algajate \u00fclesanne nr 3.) Sisend. Tekstifaili sonad.sis esimesel real on s\u00f5nastiku suurus M (0 \u2a7d &hellip; <a href=\"https:\/\/python.pingviinitiivul.ee\/?p=289\">J\u00e4tka lugemist <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-289","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=\/wp\/v2\/posts\/289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=289"}],"version-history":[{"count":7,"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=\/wp\/v2\/posts\/289\/revisions"}],"predecessor-version":[{"id":294,"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=\/wp\/v2\/posts\/289\/revisions\/294"}],"wp:attachment":[{"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=289"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=289"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/python.pingviinitiivul.ee\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}