DavidErikMollberg/kennsluromur huggingface dataset:
og svo þarf ég að segja return value
Hvað í ósköpunum er þetta nú
Þetta er raunverulega að segja það þ
etta er svona compact ritháttur á if else setningu sjáið ég gæti hafa skrifað ef að value er stærri en núll
þá set ég value sem value mínus einn
lækkum value
ef að value er stærri en núll það er að segja fyrirgefið value fær gildi value mínus einn
ef að value er stærri en núll
Annars fær value gildið dim mínus einn Þannig að þ
etta er svona þetta sparar manni
smá rithátt Við gerum raunverulega í einni línu þar sem hefði kannski verið í þremur með venjulegu if else
Svo ætla ég að vera með annað fall
sem heitir increase
value verði value plús einn
ef að value er
annars verður það núll
Semsagt ef að ég get
ef að value er minna heldur en dimension
hækka ég
semsagt af því dimension ef að það eru fimm þá væri dimension mínus einn fjórir og ef að value er minna en fjórir þá hækka ég gildið annars set ég það sem núll
vegna þess að þá er ég kominn hringinn
Þannig að þess ég raunverulega það sem búinn að gera núna ég er búinn að búa mér til tvö hjálparföll sem ég ætla að nota í kóðanum hér
þannig að núna þegar ég athuga hvort eitthvað sé
ef ég færi mig til vinstri
þá get ég losnað við þennan kóða hérna sem ég var búinn að skrifa og sagt hérna einfaldlega í staðinn
column verður samasem decrease á column
ef ég ætla að færa mig til vinstri
þá ætla ég að kalla á fall sem að sér um að
minnka column Og þ
Fallið sem minnkar column hvað gerir það Það athugar hérna hvort column sé stærri en núll Ef svo er þá minnkar það column með því að gera value mínus einn
Annars gefur það column þetta dim mínus einn sem veldur því að það fer raunverulega alveg hægra megin
Annars ef ég er að fara til hægri
þá ætla ég að increase
þá get ég sagt column er samasem increase columnn
Og þá þarf ég ekki þennan hérna kóða
Ef að ég ætla að fara upp
þá er ég að ég er að fara upp skjáinn
ég er að fara upp hérna skjáinn Þá er ég að minnka row number
Og síðasta ef ég er að fara niður skjáinn þá segi
ég row er samasem increase row
Sjáið hvað eg er búinn að gera þetta mikið læsilegra núna
ef ég er að færa mig til hægri þá verið að kalla fall sem stækkar dálkinn
bætir við ef ég er að færa mig upp þá minnkum við röðina ef ég er að færa mig niður þá hækkum við röðna
og ég er jafnframt búinn að gera beita einhvers konar upplýsingahuld eða hjúpun decrease sér um flækjuna í því
ég veit það bara að það hækkar eitthvað gildi
Nú en spurningin er virkar þetta eftir þessu Þetta var nú dálítið breyting
Við förum til hægri
förum til hægri aftur í þriðja sinn í fjórða sinn í fimmta sinn ég fer hringinn já ég fer niður niður
og niður og niður og ég fer
niður enn einu sinni já ég fer hringinn
þá fer ég hringinn
Allt virðist virka Og q fyrir quit
Það er annað vídeo sem sýnir uppsetningu fyrir Windows en hérna ætlum við sem sagt að einblína á Mac
Nú kannski það sem við þurfum að átta okkur á í upphafi er að á flestum Mac vélum þá kemur Python þegar uppsett
Þannig ef að þið prófið til dæmis að opna svokallaðan terminal sem að þið komist í til dæmis með því að fara hérna neðst á stikuna smellið á þetta terminal íkon og ef það sést ekki á stikunni hjá ykkur getið þið alltaf ýtt á command space farið í spotlight search og skrifað bara terminal hér og slegið á enter
Þannig getið þið líka startað upp terminal
En hér er sem sagt kominn með terminal glugga og ef ég slæ hérna bara inn Python þá keyri ég upp Python túlkinn en við sjáum að hérna er útgáfa tveir sjö tíu þannig að sjálfgefna útgáfan fyrir Python á Mac er nefnilega útgáfa tveir komma eitthvað
En í þessu námskeiði viljum við nota útgáfu þrír punktur eitthvað
Það er mjög mikilvægt
Þannig ég ætla að loka þessum glugga aftur og það hvað þarf ég þá að gera
Ja þá þarf ég bara hreinlega að finna download fyrir Python
Þegar þið horfið á þetta vídeó þá getur vel verið að það sé komin nýrri útgáfa af Python
Þannig hérna neðst niðri sjáið þið að það er búin til það er verið að hlaða niður pakka sem heitir Python þrír sjö þrír punktur p k g og ef ég að opna hann með því að tvísmella þá er ég búinn að opna þennan svo þetta uppsetningarforrit hérna
Welcome to the Python installer og þá er raunverulega þarf ég bara að fara í gegnum hérna með því að ýta á continue og fara í gegnum skrefin sem mun opna sem mun setja upp Python fyrir Mac sem sagt þessa útgáfu þrír sjö þrír
Ég ætla ekki að gera það hérna vegna þess að ég er þegar með Python uppsett hjá mér útgáfu þrír punktur eitthvað
Þannig ég vil ekki fara að setja hann aftur upp eða setja inn nýja útgáfu þannig að þið bara farið í gegnum þau skref
Þið svarið bara yfirleitt með continue og next þangað til þetta er búið
Loka þessu bara hjá mér
Til þess að athuga hvort að uppsetningin hafi síðan gengið hjá ykkur þá getum við aftur farið í terminal
Og eins og við eins og þau sýnd eins og ég sýndi áðan ef ég slæ inn Python núna þá er það áfram tveir sjö í mínu tilfelli tveir sjö tíu
Þetta er hin sjálfgefna útgáfa þannig að þetta sýnir svo sem ekkert að það hafi tekist að að setja upp útgáfu þrír punktur eitthvað
Takið eftir að ég nota Quit hérna til þess að loka Python túlkinum
En ef ég segi Python þrír hins vegar þá sjáum við að það startast upp önnur útgáfa af Python sem í mínu tilviki er þrír punktur sex punktur fjórir ekki þrír punktur sjö punktur þrír
En þið ættuð að fá nýrri útgáfu heldur en ég er með
Ástæðan fyrir því að ég set ekki upp nýrri útgáfu í augnablikinu er vegna þess að ég er að nota ákveðin tól í rannsóknum sem að eru ekki studd í allra nýjustu útgáfunni af Python það er að segja útgáfu þrír sjö punktur eitthvað
Þannig að ég er með útgáfu þrír sex punktur fjórir
En það skiptir ekki öllu máli fyrir þá vinnu sem við gerum í þessu námskeiði
En það er allavega mikilvægt fyrir ykkur að þið sjáið Python þrír punktur sjö punktur eitthvað þegar þið setið upp Python á ykkar eigin vél
Nú til þess að athuga síðan hvort að allt sé ekki fína hér og ég geti keyrt lítið Python forrit þá gæti ég sagt hérna til dæmis print Hello world sem er þessi klassíska leið eða þetta klassíska forrit sem maður býr oft til sem sitt fyrsta forrit í einhverju tilteknu forritunarmáli
Og print er náttúrulega bara prentskipun sem prentar út á skjánum það sem ég bið um bað um hérna
Hello world er hér inni í gæsalöppum sem þýðir að þetta er strengur en það er eitthvað sem við tölum um seinna
Og ég gæti líka prófað að segja hérna print einn plús tveir og á að fá þrjá er það ekki jú það passar
Og þannig að nú get ég sagt bara quit til að hætta í þessum Python túlki þessum Python þrír punktur sex punktur fjórir túlki
Nú þessi þennan túlk er ágætt að nota þegar maður er að prófa einhverja svona litla hluti eins og að prufa umhverfið eða gera einhverjar mjög einfald eins og prenta út hello world eða reikna eitthvað út eins og einn plús tveir en við notum þetta ekki þegar við erum að skrifa lengri forrit
Það sem við gerum þá við getum notað það sem heitir Idle þá keyri ég það upp með Idle þrír
Og þetta er forritunarumhverfi eða forritunarritill sem kemur með uppsetningunni
Þið sjáið að þetta er mjög svipaður svipaðar upplýsingar og komu þegar ég keyrði Python upp í terminal
Þannig þetta er í sjálfu sér ekkert annað en skel eða svona grafískt viðmót á skelina
Þannig ef ég loka bara þessu og keyri aftur og þá keyri ég þetta núna með Idle þrír
Og þá fæ ég einmitt Python þrjá sex fjóra
Og þá er ég kominn inn í svona aðeins skemmtilegra viðmót þannig að ég get gert nákvæmlega það sama ég var með stóran staf hérna hello world
Þannig þetta er svona kannski aðeins þægilegra viðmót vegna þess að ég get líka í þessu umhverfi búið til nýja skrá og búið til lítið forrit hér sem til dæmis gerir hello world og prentar svo út Hrafn þar á eftir
Þá get ég sagt hér run
Ég ætla að keyra þennan módúl eða þetta forrit
Hún vill vista það fyrst og við getum bara vistað það í einhverju sem ég kalla hérna test
Þá keyrir hún hér forritið hérna segir hún restart
Hún keyrir hérna test punktur p ypsion sem er á mínu svæði users Hrafn og skrifar út hello world og Hrafn
Þannig þetta er eitthvað sem er hægt að nota þegar maður er að koma sér af stað í að skrifa Python forrit að nota Idle ritilinn
En seinna meir munum við reyndar notað annað þróunarumhverfi og það er á önninni yfir höfuð munum nota annað þróunarumhverfi sem að sem að býður upp á ýmsa fleiri möguleika heldur en Idle
En látum þetta þá bara duga í uppsetningunni varðandi ja það er að segja varðandi uppsetningu á Python fyrir Mac
Jæja góðan daginn
Ef við byrjum kannski því að athuga hvort að Python sé uppsett á okkar eigin vél þá getum við UNK keyrt upp skipanaskel eða svokallað command prompt
Ég leita af því með c m d og þarna sjáum við að command prompt er hér skel sem þið getið opnað
Og ef ég slæ hér inn Python þá sjáum við að skilaboðin sem koma til baka eru Python is not recognised as an internal or an external command sem þýðir þá að Python er ekki þegar uppsett á þessari vél
Ég ætla að loka aftur þessari skipanaskel
Og það sem ég þarf þá að gera er að ég þarf að setja upp Python og ég get leitað að því hérna með Python download fer hér inn á Python punktur org inn á download svæðið hjá þeim
Og þá sjáum við það að nýjasta útgáfan fyrir Windows er útgáfa þrír sjö þrír
Það er sú útgáfa sem við ætlum að nota í námskeiðinu það er að segja Python þrír punktur eitthvað en alls ekki Python tveir punktur eitthvað
Nú þegar þið setið upp Python útgáfu á ykkar eigin Windows vél þá er líklegt að þetta númer hafi breyst það er að segja það er komin nýrri útgáfa
En þegar ég geri þetta myndband þá er nýjasta útgáfan sem sagt útgáfa þrír sjö þrír
Punktur exe þýðir executable útgáfa og þegar hún er tilbúin þá get ég opnað þetta uppsetningarforrit og það sem er mikilvægt að velja hér er add Python þrír sjö to path
Það mun gera okkur kleift að keyra Python beint upp úr skipanaskelinni án þess að vísa nákvæmlega í staðsetningu Python á harða diskinum hjá okkur
Þannig að við veljum hér add Python þrír sjö to path
Ég vil hafa þetta á öðrum stað
Þannig að ég ætla að segja að velja hérna bara next og segja hér að ég vilji hafa Python setja það upp á þessari slóð hér c users Hrafn Python og Python þrír sjö þrír tveir hérna
þannig að að slóðin sé ekki jafnlöng eins og stungið var upp á hérna í sem sjálfgefin slóð
Og svo ætla ég bara segja install hér og þá fer uppsetningarforritið í gang og setur upp öll alla nauðsynlega hluta af þessari af Python tólinu sem þýðir það að það er Python túlkurinn svokallaði sem við skoðum á eftir
Það er þróunarumhverfi sem heitir Idle sem kemur með Python og það er ýmislegt annað sem að við erum kannski ekkert endilega að nota í svona fyrsta forritunarnámskeiði
En en er ágætt að hafa kannski seinna meir
Við skulum sjá leyfa þessu bara hérna að rúlla í gegn
Þarna kemur eitt tólið sé ég hérna Pip sem við notum til þess að að setja upp ýmiss konar pakka í í py svokallaða Python pakka
Við munum kynnast því síðar
Og þetta ætti nú að fara að klárast
Og þá er spurningin hvernig prófa ég hvernig athuga ég hvort að þetta hafi tekist hjá mér
Nú ef ég fer aftur í að opna skipanaskel c m d command prompt og slæ inn Python núna þá sjáum við að ég fæ upp Python þrír sjö þrír þannig að það er ljóst að uppsetningin tókst og ég gæti prófað til dæmis að athuga ja virkar þessi túlkur sem ég er búinn að keyra hér upp
Virkar hann
Það er að segja get ég búið til eitthvað lítið Python forrit og keyrt það
Og þetta klassíska forrit sem maður prófar oft er hello world það er að segja prenta hello world strenginn út og við sjáum það ég keyrir hérna print hello world og ég fæ til baka hello world þannig að þetta gekk
Hvað er það
Það er fimm
Þannig að það er ljóst að að uppsetningin hefur alveg gengið
Það er kannski ágætt að átta sig á einu ástæðan fyrir því að ég gat slegið inn Python hér og skipanaskelin veit hvar Python forritið er geymt ástæðan er sú að það er til eitthvað sem heitir environment variables hérna get ég valið Edit the system environ  environment variables
Og þar er hnappur sem heitir environment variables og þar er eitthvað sem heitir path
Og þá sjáum við hér að í pathinum eða í sja  í slóðinni sem Windows heldur utan um er mappan c users Hrafn Python Python þrír sjö þrír tveir
Þannig að og ef ég opna það þá sjáum við að hér er Python punktur exe það er executable skráin eða keyrsluskráin sem er keyrð upp þegar ég slæ inn Python hér í skipanaskelinni
Takið eftir að þegar ég slæ inn Python þá er ég ekki að slá inn vísa beint í möppuna Python heldur finnst Python keyrsluskráin vegna þess að mappan Python og Python þrír sjö þrír tveir er hér í path
Þannig að það er dálítið mikilvægt að átta sig á þessu
Nú þannig að ef ég loka bara þessu núna
Annað sem að getur verið gott að hafa í huga núna í upphafi er það að þegar við settum upp Python þá fylgdi með svokallaður forritunarritill
Forritunarritill er forrit sem gerir okkur kleift að skrifa forrit í og keyra þau
Og þessi forritunarritill fyrir Python heitir Idle
Hann er reyndar ekki sá ritill sem við munum koma til með að nota í námskeiðinu
En svona til að byrja með ætlum við aðeins að skoða hann
Þannig að ef ég keyri hann upp hérna
Þá sjáum við að ég fæ mjög svipað viðmót og hérna í í túlkinum hérna í skipunarskelinni
Ég fæ hérna Python þrír sjö þrír og ég fæ þessar örvar
Og ég get sagt hérna print hello world og ég get sagt print fjórir plús fimm og svo framvegis
Þannig að ég get prófað hérna ýmsa hluti og það er einmitt kosturinn við þennan ritil að ég get prófað svona einfaldar Python setningar
Og hér er hægt að segja file new file og hérna get ég búið mér til Python forrit sem að inniheldur til dæmis fleiri en eina línu
Og síðan myndi ég vilja keyra þetta forrit Þá get ég sagt run run module þá vill Python eða Idle að ég ve  ég visti fyrst þessa skrá þannig að við skulum vista hana
Vistum hana undir nafninu bara test punktur p ypsilon p ypsilon fyrir Python
Og þá keyrir Idle umhverfið forritið þannig að við sjáum að hér fyrst prentaðist út hello world síðan Hrafn og svo níu sem að samsvarar þessum þremur setningum sem ég skrifaði í þessu forriti
Og ef ég loka þessu og loka ritlinum aftur og segjum núna að ég bara opna hann upp á nýtt þá get ég sótt þetta forrit sem ég skrifaði hérna undir recent files og keyrt það aftur
Þannig að þetta er þá leiðin til þess að skrifa forrit vista það og jafnvel keyra það svo aftur seinna
Nú loka ég hérna command glugganum
Og þá eigið þið að hafa allar upplýsingar til þess að geta sett upp Python á ykkar eigin Windows vél og prófað uppsetninguna með því að keyra upp annaðhvort Python í í skipanaskel í command prompt i eða í gegnum Idle
Það er síðan annað vídeó sem að ég mun búa til sem að sýnir uppsetningu á Python fyrir Mac vélar
dictionaries eða það sem á íslensku heitir uppflettitöflur
Dictionaries eru
það sem á ensku heitir data structure eða gagnaskipan og við höfum kynnst tiltekinni gagnaskipan í þessu námskeið eins og til dæmis lista
Listi er gagnaskipan sem sagt hvernig við skipum gögnum
En dictionary
er vissulega collection það er að segja safn af einhverjum stökum en það er ekki sequence það er að segja við vísum ekki í dictionary með því að nota einhverja tiltekna stöðu heldur við notum við lykil svokallaðan lykil
Og dictionary er einmitt raunverulega safn af það sem á ensku heitir key value pairs eða pörum af lyklum og gildum og við notum lykilinn sjálfan til þess að ö komast í í gildin
Köllum hana bara hérna
Nú er ég komin með tóman tómt dictionary takið eftir muninum sko þegar við vorum að búa til lista
Þá vorum við með hornklofa Þetta er listi þannig að a list er tómi listinn en my dict er
er tóma uppflenntitaflan Ég get reyndar líka það er ágætt að minnast á þetta muniði það var hægt að gera svona a list er listi
Og það er það sama þetta er bara ég er að nota listasmiðinn eins og það heitir
og sama get ég gert hér my dict er dictionary Dictionary er sem sagt pa í Python og my dict lítur þá svona út sem er tómt tóm uppflettitafla
Nú hvað við ég talaði um áðan að að
uppflettitafla geymir einmitt pör af lyklum og gildum
Þannig að ef við ég ætla að búa mér til hérna nýja dictionary Ég kalla þetta chess dict þetta á að halda utan um hérna skákmenn og stigin sem þeir eru með Og það er sem sagt slaufusvigi opnast Svo þarf ég að setja hver er lykillinn
Carlsen ég ætla að setja Magnús Carlsen sem er heimsmeistari í skák
Og hann er með í dag tvöþúsund átta hundruð sjötíu og sex ELO stig
Og þarna gerði ég nú villu vegna þess að þetta verður að vera tvípunktur Þannig að þetta
er svokallað svokallaður lykill Carlsen er lykillinn svo kemur tvípunktur og svo kemur gildið Þannig að þetta er svona par af key value
þetta chess dict lítur út þá er þetta einmitt uppflettitafla sem inniheldur eitt par sem er lykillinn Carlsen og gildið tvö þúsund áttahundruð sjötíu og sex
Ef ég vil núna bæta við
þessa uppflettitöflu þá get ég gert það með því að segja chess dict af segjum einhverjum öðrum lykli eins og Anand sem er reyndar fyrrverandi heimsmeistari
hann er með tvö þúsund sjö hundruð sextíu og fimm stig Aftur geri ég þetta þetta á að vera jú ég ætlaði að gera þetta svona núna sjáiði muninn tvöþúsund sjö hundruð sextíu og fimm
og spyr núna hvernig chess dict a lítur svona út Nú er ég kominn með tvö pör í þessu uppflettitöflu
Takið eftir muninum hérna Þegar ég bjó telur uppflettitöfluna í upphafi þá notaði ég hérna slaufusviga og gaf þetta par upp þegar ég bætti við uppflettitöfluna þá sagði ég chess dict af lyklinum Anand Þetta er svona málskipan eins og við notuðum fyrir lista Ég er að vísir tiltekið
lykil hérna athugið ekki í stöðu Ég set ekki hérna núll eða einn ég nota viðkomandi lykil chess dict af lyklinum Anand eru tvö þúsund sjö hundruð sextíu og fimm
og að því að þessi lykill já þá raunverulega bjó ég til þess þetta par Anands og tvö þúsund sjöhundruð sextíu og fimm Ég get líka spurt sko hvert er
gildið fyrir tiltekin lykil eins og hvert er gildi fyrir Anand
Get ég spurt hvert er stak númer núll Nei ég get það ekki Ég fæ hérna key error vegna þess að ef maður
uppflettitafla er nefnilega ekki sequence eins og við tölum um áðan Maður vísar alltaf í
og langflestar aðgerðir einmitt í uppsettu töflu snúast um að gera aðgerðir á lyklunum sjálfum
ef ég vil reyna að vísa í Caruana Caruana sem er enn einn skákmaðurinn
Þá fæ ég líka key error ég fæ key error Caruana alveg á sama hátt og ég fékk key error þegar ég gerði hérna núll
Vegna þess að þeir litu svo á að ef ég er að vísa í annað borð í uppflettitöfluna chess dict þá eigi að nota lykilinn og ef að lykillinn er ekki til Þá fæ ég key error
Nú uppflettitafla er mutable það er að segja ég get breytt eftir að ég var búin að búa hana til hérna uppi Þá gat ég einmitt breytt henni
með því að bæta við hérna með chess dict af Anand verður hefur gildi tvö þúsund sjö hundruð sextíu og fimm
setjum segjum að ég setji Caruana inn hérna sem er með tvö þúsund átta hundruð og tólf segjum
Hvernig lítur chess dict út núna
Nú er ég kominn með þrjú pör þarna Carlsen
Og segjum bara að ég þyrfti nú að breyta Caruana nú þá gæti ég bara breytt því svona er það ekki chess dict af Caruana er tvö þúsund átta hundruð og ellefu núna
Og þá hefur það breyst en þetta er sko mutable gagnaskipanir ég get get breytt því
Það sem er líka sveigjanlegt við uppflettitöflur er að gildið sjálft getur raunverulega verið hvað sem er
Fabiano sem ég held að sé hérna fyrra nafnið hans
Ef ég skoða chess dict núna þá sjáiði að ég kominn með lyki lykillinn er Caruana en gildið er Fabiano
En í þessu tilviki þá þá væri það nú kannski ekki skynsamlegt hjá mér að vera með
gildið
Eitt sem að getur verið gott að gera er að geta athugað hvort tiltekin
lykill er til í viðkomandi uppflettitöflu þannig að ég gæti viljað spyrja
er til dæmis er lykillinn Anand
er hann in
chess dict
lykillinn er til Hvað með
Ólafsson
Nei hann er ekki til
Hvað með
tvö þúsund átta hundruð sjötíu og sex Ætti það ekki að vera til Það er til hérna sem gildi í töflunni uppflettitöflunni
Nei þetta er false þar er vegna eins og við vorum að tala um áðan
ég get alltaf spurt svona hvað er chess dict af
Carlssen Vegna þess að lykillinn Carlsen er til og þá fæ ég tvö þúsund átta hundruð sjötíu og sex
ég sagði áðan að uppflettitafla er collection en hún er ekki sequence Collection þýðir raunverulega að það er hægt að ítra yfir hana er það ekki
Það þýðir það að ég gæti sagt
hvað er ef við kíkjum á nokkar aðgerðir hérna
Hvað er chess dict af
ef þið fyrirgefið chess dict punktur
keys Ég ætla að
kalla á fallið keys sem að tilheyrir þessum hlu chess dict
Sjáið hvað ég fæ til baka hérna
Ég fæ til baka
eitthvað sem ég get síðan gæti síðan ítrað yfir sjáið Þetta er þetta er raunverulega einhvers konar listi sem er hérna Carlsen Anand og Caruana
Það heitir hérna di þetta er sérstökt object object sem heitir dict keys En ég get ítrað yfir þetta Þannig að
Ef ég segi hér for key in chess dict
punktur keys
mig vantar hérna tvípunkt er það ekki
Svona Og segjum bara að ég prin prenti hérna út lykilinn
Sjáiði Þá var ég að ítra yfir
lyklana í uppflettitöflunni og fæ Carlsen Anand og Caruana
Annað UNK aðgerð sem getur verið gott að hafa eru
í chess dict Og þá fæ ég annað object til baka sem heitir dict values og gefur mér gildin sem að ég get þá væntanlega ítrað yfir líka Er það ekki
Þannig að ég gæti sagt for val inn chess dict
og prentað út val
og þá fæ ég að þessi gildi tvöþúsund áttahundruð sjötíu og sex og svo framvegis
Nú þriðja algenga aðgerðin sem maður notar er items
keys gaf okkur lykla values gaf okkur gildi þannig það gæti verið gott í einhverjum tilvikum að fá bæði lykil og gildi Þannig að það er til aðgerð sem heitir items þannig ef ég segi chess dict punktur items
Þá fæ ég eitthvað object sem heitir dict items og hvað er það Þetta er nú eins konar listi af túplum er það ekki Og sérhver túpla inniheldur lykil og gildi
Carlsen tvöþúsund áttahunduð sjötíu og sex Anand tvöþúsund sjöhundruð sextíu og fimm Caruana tvöþúsund áttahundruð og ellefu
Þannig að ef ég ítra yfir þetta þá gæti ég sagt for
hvað eigum við að segja Item in chess
prentað út sérhvert item
Þá sáið þið að ég er að fá túplu í sérhvert sinn
þetta er greinilega collection af túplum
Carlsen og gildi hans sem sagt skákstigin hans og svo framvegis
Þannig að þetta var raunverulega svona yfirferð yfir uppflettitöflur
Við getum sagt harðsoðin hraðsoðin yfirferð yfir uppflettitöflur sem að eru vissulega mjög mikið notaðar í ýmiss konar verkefnum
sérstaklega þegar þarf að geta flett upp einhverjum tilteknum gildum og sótt tilteknum lyklum og sótt gildin sem að tilheyra þeim lyklum
Þannig að ef maður þarf að geta gert það á hraðvirkan máta
þá eru uppflettitöflur
og eitt af því sem við ræddum þar var það að föllin hjálpa okkur við að gera kóða læsilegri með því að brjóta tiltekið vandamál upp í einstakar einingar
Og ég ætla að taka hérna dæmi um svona hugsunargang og og ferli sem við förum í þegar við stöndum frammi fyrir einhverjum tilteknum vandamálum sem þarf að brjóta niður
Ég er hérna að koma með skrá sem heitir numbed digits punktur p y og við skulum ímynda okkur það að einhver hafi gefið okkur það vandamál að prenta út fjölda tölustafa í innslegnum streng
Þetta er vandamálið
Við eigum sem sagt að skrifa forrit sem getur prentað út fjölda tölustafa í innslegnum streng
Nú í stað þess að ráðast beint á þetta og skrifa forrit sem leysir þetta Þá höfum við líka lagt áherslu að það sé mikilvægt að búa til einhvers konar algrím eða lýsingu á því hvernig við ætlum að leysa þetta vandamál
Og við gætum meira að segja skrifað það bara hérna hvað við ætlum að gera ég meina hvað er það fyrsta sem við þurfum að gera til þess að geta leyst þetta vandamál
Ja notandinn þarf að geta slegið inn strenginn þannig að við getum sagt sem svo
Fá streng frá notanda
Þegar við erum komin með þann streng þá þurfum við að finna út fjölda tölustafa í strengnum er það ekki
Þannig að við getum sagt eigum við að segja bara reikna út fjölda tölustafa tölustafa í strengnum
Og þegar það er komið þá er það eina sem eftir það er að prenta út niðurstöðuna prenta út niðurstöðuna
Þannig að þetta er raunverulega eins konar algrím má segja yfir það sem að yfir þetta vandamál við getum vissulega farið mjög mun nákvæmara í þetta algrím til dæmis það hvernig við ætlum að reikna út fjölda tölustafa í strengnum og það er mjög eðlilegt í sjálfu sér að gera það
Ég ætla bara ekki að gera það í þessu tilviki
Þannig að við getum bara byrjað hér á þessu fyrsta sem er að fá streng frá notanda og ég sagði að ég ætla einmitt að skrifa föll sem að leysa þetta