DavidErikMollberg/kennsluromur huggingface dataset:
En það er ákveðin venja að skilgreina fasta svona í upphafi módúls getum við sagt ef við lítum á þetta fall sem módúl og kannski er það að einhverju leyti ástæðan sú að max numbers fyrst að það er fasti þá er líklegt að það sé notað í eitthvað af þessum föllum
Þá held ég að ég sé búinn að fara yfir öll atriðin á þessum lista
Fallið sem gefið sem sem er lýst öllu heldur heitir shoot ball
Og það eru fimmtíu prósent líkur Notið random rand int fallið til þess að ákvarða hvort leikmaðurinn hitti eða hitti ekki
Til að upphafsstilla handahófs tölurnar með random seed
Þá snýst eða verkefnið snýst að stórum hluta um það að nemandinn átti sig á því
Það er raunverulega
Player er tilvika basketball player þannig að hérna er verið að smíða tilvik af basketball player
Og það er búnir til hérna fimm basketball player ar körfubolta leikmenn og þeim er bætt við þetta
Hvernig gerir það það Ja það segir ókei hérna er highest player núverandi highest player hann verður sá sem er númer núll í liðinu
á leikmönnum og finnur þann sem hefur skorað flest stig og skilar honum til baka
LA Lakers skoraði og svo hversu mörg stig viðkomandi leikmenn skoruðu innan liðsins
Og hérna er verið að nota s t r fallið í basketball player
Hérna fer frá núll upp í fjörutíu og sjö sem sagt fjörutíu og átta sinnum Kallar á team a play offense og team b play offence í sérhverri ítrun
Og rifjum aðeins upp hvað gerðu þessi tvö Hvað gerði þetta fall team eða play offence Það er hreinlega bara
þannig nú erum við búnir að átta okkur á svona heildarvirkninni og þá er spurningin hvernig í ósköpunum á ég byrja á þessu
Eðlilegt er að byrja á þessum baketball player það er jú klassi sem við eigum að útfæra og eðlilegast er ekki alltaf þegar maður er að forrita klasa er að byrja á smiðnum eða init fallinu við þurfum það Við þurfum að við sjáum það hreinlega bara hér
þannig að við getum sagt hér
þannig að þessi klasi á sér number sem verður þá number hérna sem kemur inn
basketball player object has no attribute shoot ball
Basketball player has no attribute shoot ball nú ég hélt að ég hafi einmitt verið að útfæra fallið shoot ball
skorar fleiri stig er það ekki
object ið sjálft Ég raunverulega það raunverulega það sem skilar til baka var bara þetta hér team b eða team a hérna ég fékk bara object ið sjálft eftir sjálft og þess vegna kom
ég búinn með þetta hérna LA Lakers won eða sem sagt hvort liðið vann Svo þarf ég að skrifa þetta út hérna hversu mörg stig
Og það scored
Þannig hérna
að skrifa einhvern haus Chicago Bulls scoring
a punktur get
að prenta út team a
fæ ég reyndar ekki neitt út Já fyrirgefðu ég á eftir að vista þetta hérna Prófum þetta aftur
og svo setjum við annan place holder hér þá
Svona nú fáum við hérna
Þannig þá erum við komin með s t r
nei bíðið þið við jú þetta ætti að vera
player with highest score það er fall sem var gefið
og það er ekki hægt vegna þess að stærri en virkinn ég er ekki búinn að forrita hann inni í basketball player
Þannig að þá get ég bara sagt hérna skila því þá bara til baka
Nú ef það er ekki þá fáum við false
keyrum aftur random seed fimm Og nú fæ ég
self team random index er vísun í tiltekin basketpló
Og hvað snýst hérna grid um Ja hérna segir skrifið Python forrit sem gerir notanda kleift að ferðast um í tvívíðu fimm sinnum fimm hnitakerfi þangað til hann vill hætta
Staða notandans er sýnd eftir sérhverja færslu Notandi byrjar efst í vinstra horni á skjánum og getur í sérhverju færslu fært sig til vinstri hægri upp eða niður
Næsta röð væri þá hérna númer eitt númer tvö númer þrjú númer fjögur og dálkarnir væru númer þá núll einn tveir þrír og fjórir enda fer frá núll upp í fjóra Þannig að við erum raunverulega með hnitakerfi sem samanstendur af röðum og dálkum
dé fyrir niður eða down
Þannig að þetta er svona dæmi um það sem á að útfæra Þannig að við sjáum raunverulega að í við eigum að
Position er hérna o það er greinilega staða leikmannsins er táknuð með o
u og dé til að hætta er táknað með q
Við þurfum að framkvæma leikinn hvað eigum við að kalla það hérna Make move
Þetta er það eina sem að ég ætla að gera núna í upphafi
en í öllum öðrum hnitum í kerfinu er x
hvað eigum við að kalla þetta Bara displays the
lista af listum sem kemur hérna inn
in range dim takið eftir því ég er raunverulega að gera nákvæmlega það sama og var gert hérna í initialize grid
Ef við aðeins förum yfir í lýsinguna þá sjáum við að það er eitt bil á milli staka hérna
Ja eigum við ekki að prófa þetta fyrst hérna
Ja ég á það fall ég er búinn að skrifa það Skrifar aftur út borðið
ég ætla að fá þá staðsetningu til baka hérna úr make move
Ég geri right ég geri left ég geri up ég geri down og ég geri q fyrir quit og allt virkar
UNK alltaf er ég sem sagt að prófa það að að vera viss um það að forritið mitt keyri eftir einhverjar breytingar Þannig að ég tek hugmyndin er þessi
Og þannig að ég hlýt eiginlega þurfi að vera með einhverjar if setningar hér eins og að ef að leikurinn er
Röðin hækkaðr þegar ég fer niður hún lækkar þegar ég fer upp
Athugið annaðhvort er það column sem breytist breytist eða það er row sem breytist
en fallið okkar
Þannig að þetta nýtir sér það fall sem ég var búinn að skrifa finnur nýja stöðu og skilar semsagt nýrri row komma col til baka
þessari túplu row komma col sem er
row komma col
Bíðum nú við Já það er vegna þess að
þá þarf ég að passa það
þá má ég
Ja ég má ekki gera það
Þá get ég sagt row er samasem row mínus einn
ef að row
þá má ég ekki fara niður þá fer ég út fyrir þá í UNK að fara alveg hérna efst
þá get ég gert þetta
Af því að líka UNK endurtekningar hérna dálítið mikið hérna það sama
ég fer í fjórða sinn til hægri
Já þá
Hérna stendur ef row er minni en dim mínus einn þá er row hækkað annars verður row núll Sjáið þetta er sami kóðinn
ef að value yrði stærri en núll
minna en dim
á þarf ég ekki þetta hérna
Þá segi ég
er samasem decrease row
á eftir sérhverju elif og
þá er greinilega verið að kalla á fall sem að minnkar dálkinn
að taka á þessu enda skilyrði að passa það að ef value er stærri en núll það er þá sem ég get minnkað annars fer ég hringinn með því að gefa gildið dim mínus einn
Stækkum þetta aðeins aftur hérna
Þannig við getum ekki notað þessa útgáfu sem kemur þegar uppsett á Mac
Og við getum til dæmis bara slegið inn hérna Python download
Og þá sjáum við hér að hérna er á slóðin Python punktur org slash downloads og hér kemur þá download the latest version for Mac O S X og hérna get ég hlaðið niður Python þrír sjö þrír
En þegar ég bý þetta vídeó til sem sagt þá er það útgáfa þrír sjö þrír sem að er sú nýjasta
Takið eftir því ef ég slæ inn idle beint þá kemur upp gluggi með Python tveir sjö tíu
Og ég ætla jafnframt að velja hér customized installation vegna þess að ég vil ekki að Python verði ins sett upp hérna í users Hrafn app data lókal og svo framvegis
Hérna er þetta búið set up was successful þannig að ég get bara lokað þessu hér
Og hér er Python þrír sjö þrír tveir einmitt
Ég get UNK prentað hello world ég get prentað Hrafn og ég get prentað þess vegna fjórir plús fimm
Í þessu myndbandi ætla ég að fjalla um
Og ég ætla að búa til tóma dictionary tóm dictionary í Python er svona slaufusvigi opnast slaufusvigi lokast
tvöþúsund áttahundruð sjötíu og sex Anand tvöþúsund sjöhundruð sextíu og fimm og Caruana tvö þúsund átta hundruð og tólf
Ég hefði geta sagt til dæmis hérna chess dikt af Caruana er
fyrir Caruana eitthvað annað heldur en gildin semsagt tagið á gildinu eitthvað annað heldur en tagið fyrir hina skákmennina Þannig að ég ætla nú bara að breyta þessu til baka Ég vildi bara sýna ykkur að þetta er alveg hægt að vera með hvaða tag sem er fyrir gildið
aðgerðir langflestar aðgerðir sem við gerum
hafa með lyklana að gera og við komumst í gögnin með því að nota lykilinn þannig að uppflettitafla er hönnuð þannig að það að sækja gögn eftir lyklum er mjög hraðvirkt
Það er eðli þessara gagnaskipan að sækja gögn eftir lyklum er hraðvirkt Og ef ég get ekki einu sinni vísað beint í einhverju gildi Ég verð nota lykilinn sjálfan til að sækja gildið Þannig að ég get alltaf spurt sko
ja byrjum áður en ég fer að ítra yfir hann Byrjum á því að segja hérna
values Ég get spurt hver eru values
Já komið þið sæl ég talaði í síðasta myndbandi um um mikilvægi falla
og skrifa svo föll sem að leysa þessar einstöku einingar eða þessari einstöku hlutverkefni
Það er það fyrsta sem þarf að gera
Og hvað gerir þá fallið
Og athugið að þetta fall sem ég skrifa hér hefur vissulega afmarkað og skýrt hlutverk
And returns it þarf ég þá ekkert hérna
Skýrt og afmarkað hlutverk það er lykillinn
Þannig að það sem ég þarf þá hér er
Það var að sækja strenginn
Og það tekur þennan streng sem notandinn sló inn
Ég gæti kallað þetta eitthvað annað bara til þess að sýna ykkur dæmi um það ég kall gæti kallað þetta my string og my count breytt þessu í my string og það ætti ekki að breyta neinu þetta er bara nafnagift hérna
Ég fékk núll
Ef ég slæ inn eitthvað sem að er bara tölustafir þá fær ég fimm
Þannig að þið sjáið hvað ég er að gera
Það þarf að það þarf að virka fyrir ýmiss konar inntak úttak inntak segi ég
Aftur mjög afmarkað og skýrt hlutverk
Og í þessu námskeiði þá ætlum við að nota tvenns konar lykkjur annars vegar while lykkjur og hins vegar for lykkjur og það eru while lykkjurnar sem við ætlum að skoða núna í þessu myndbandi og while lykkjurnar eru þannig að þær endurtaka röð setninga eða mengi setninga á meðan eitthvað ákveðið skilyrði er satt
Og við skulum breyta því í int tölu
Ég nota hérna gildisveitingarsetningu gefum þessari counter breytu gildið núll
og hækka hann svo þannig upphaflega upp í fyrsta skipti er hann núll sem er vissulega minna en fimm prentum út núll hækkum counter upp í einn förum aftur upp í lykkjuna boolean skilyrði er athugað aftur nú er counter orðinn einn það er minna en fimm prentum út þá einn hækkum counterinn í tvo og svo framvegis
Það er kannski vert að benda á það að að nota break er er eitthvað sem kannski  maður ætti að forðast nema maður raunverulega þurfi þess vegna þess að þá er maður svona að brjóta flæðið í while setningunni
Og hlutverk þessa falls er að bæta einum við inntak sitt
Það er að segja þessi kóði keyrist ekki hann keyrist ekki fyrr en að kallað er á fallið hérna megin í í með þessari hérna segð
Þetta keyrði þó alla vega
Þannig að við sjáum að það er einn ákveðinn munur að þetta þessi breyta hérna hún hefur ákveðið gildi sem að er skipt út eða skipt inn á getum við sagt fyrir þetta num hérna þannig að hver svo sem talan er hjá mér ég sló inn fimm
Það sem gerist er það að það verður kallað á fallið þannig að flæði forritsins stekkur raunverulega úr þessari setningu hérna númer sex yfir í setningu númer má segja tvö hér í kóðanum og þessi print setning sem kemur á eftir hún bíður getum við sagt bíður innan gæsalappa
Hún verður ekki framkvæmd fyrr en allur kóðinn í fallinu inc hefur verið keyrður
Þannig að fyrst er er setning númer tvö hérna keyrð sem leggur einn við num
Encapsulation er það að eða við skulum bara nota íslenska orðið að hjúpa
Og þetta er það sem að heitir hjúpun og information hiding að hjúpa ákveðna virkni inn í fall og sá sem að notar fallið hann þarf ekki að hafa aðgang að því eða vita það hvernig fallið er útfært og það er þessi svona information hiding hluti af þessari hugmynd að hjúpa ákveðna virkni
Hér er forritið frá því í síðasta myndbandi þar sem ég var að lesa skrá og skrifa lesa skrá línu fyrir línu og skrifa út sérhverja línu í forritinu úr skránni segi ég og ég var líka reyndar að skrifa út í skrá en við skulum bara taka það hérna burt núna við ætlum ekkert að skrifa út í neina skrá
Þannig að höfum þetta bara svona og þetta fall okkar heitir bara hérna read file
Það er að segja ég get verið með try lykilorðið hér
Ég ætlað að reyna að lesa frá notandanum einhvern streng og breyta honum integer