Publicité
Publicité

Contenu connexe

Publicité

Python programozás 2022.pptx

  1. PROGRAMOZÁS PYTHON NYELVEN
  2. MIT CSINÁL PONTOSAN EGY PROGRAMOZÓ?  Leegyszerűsítve, egy olyan ember, aki képes beszélni a gépekkel.  Mi magyarul értünk, a gépek pedig a nullák és egyesek nyelvén.  Sajnos nem tudod egyszerűen, magyarul megkérni a gépedet arra, hogy köszönjön neked. Próbáld ki nyugodtan!  A nyelvi szakadék 3 módon hidalható át:  Megtanulhatunk mi az egyesek és nullák nyelvén.  A számítógépeket tanítjuk meg arra, hogy megértsék a mi nyelvünket. Ez a távoli cél.  Addig szükségünk van egy közös nyelvre, amit mi is képesek
  3. MIT CSINÁL PONTOSAN EGY PROGRAMOZÓ?  A programozó tehát az az ember, aki ért a gépek nyelvén. Gyakran fejlesztőknek hívjuk őket, mivel programokat fejlesztenek.  Sokféle fejlesztő van a világban, akik rengetegféle dolgot csinálnak. A játékfejlesztők játékokat, az alkalmazásfejlesztők alkalmazásokat, és a webfejlesztők – igen, jól tippeltél – weboldalakat készítenek.
  4. PROGRAMOZÓKÉNT GONDOLKODNI  Gondolj egy egyszerű szendvicsre!  Egy szendvicset elkészíteni egy viszonylag könnyű feladat, de még így is több, helyes sorrendben végrehajtott lépés szükséges a sikerhez, de milyen sorrendben? 1.Edd meg a finom szendvicset. 2.Lőj egy képet és töltsd fel Instagramra. 3.Vegyél két szelet kenyeret. 4.Tedd a másik szeletet az előző tetejére. 5.Nyomj mustárt a sonka és a zöldségek tetejére. 6.Tedd a sonkát, paradicsomot és salátát az egyik
  5. AZ ALGORITMUS  Egy jó programozó képes egy komplex megoldást lebontani egyszerű lépésekre, és ezeket a megfelelő sorrendbe rakni a gép számára.  Némileg leegyszerűsítve, a programozás olyan, mintha recepteket írnál a számítógépeknek.  Ezt a receptet ALGORITMUSNAK fogjuk hívni, és folyamatábrán ábrázoljuk az eddigi szöveges, sorszámozott sorok helyett.
  6. A FOLYAMATÁBRA  A folyamatábra az algoritmusok grafikus megjelenítése.  Az egyes elemi lépéseket  alakzatok segítségével jelenítjük meg, majd ezeket nyilakkal kötjük össze, amelyek meghatározzák az egyes tevékenységek végrehajtásának sorrendjét.  A különböző jellegű tevékenységekhez különböző alakzatok tartoznak.
  7. A FOLYAMATÁBRA SZIMBÓLUMAI  START- ÉS VÉGE SZIMBÓLUM: Ezek az ellipszis alakzatok határozzák meg azt, hogy hol kell elkezdenünk az algoritmus végrehajtását, illetve azt, hogy mikor értük el a lépéssorozat végét.  ELEMI TEVÉKENYSÉG: Egy téglalap alakzatban szereplő egyszerű és egyértelmű lépés, amely nem igényel további magyarázatot. Az ábrán szereplő tevékenység például egy értékadás, ami azt jelenti, hogy az X (más néven
  8. A FOLYAMATÁBRA SZIMBÓLUMAI  INPUT SZIMBÓLUM: A legtöbb algoritmusnak szüksége van valamiféle bemeneti adatra. Ezt általában a felhasználó a végrehajtás során fogja csak megadni és ezt az értéket fogja az algoritmus felhasználni.  OUTPUT SZIMBÓLUM: Máskor az algoritmus egy eredményt szolgáltat, közölni szeretne valamit a felhasználóval. A kimenet lehet például egy mennyiség értéke, vagy lehet egy egyszerű szöveg,
  9. A FOLYAMATÁBRA SZIMBÓLUMAI  FELTÉTEL SZIMBÓLUM: A folyamatábrák leg- összetettebb eleme. Egy csúcsára állított rombuszban egy állítás szerepelhet. Az állítás egy logikai kifejezés, amely vagy igaz, vagy hamis kell legyen. Miután kiértékeltük ezt a feltételt, azaz meghatároztuk az igazságtartalmát, két lehetőség közül választhatunk.  Képernyőre kiíró program:
  10. HOGYAN TANULJ PROGRAMOZNI HATÉKONYAN? PRÓBÁLD MEG ELDÖNTENI, HOGY AZ ALÁBBI ÁLLÍTÁSOK KÖZÜL MELYIK IGAZ, ÉS MELYIK HAMIS:  A PROGRAMOZÁST NEHEZEBB ELSAJÁTÍTANI, MINT A TÖBBI KÉSZSÉGET, ÉS KÜLÖNLEGES TEHETSÉG KELL HOZZÁ. HAMIS. Ha nem is szuper könnyű megtanulni a programozást, nem nehezebb, mint bármilyen más új készséget elsajátítani. És – a közhiedelemmel ellentétben – nem kell matekzseninek lenned, hogy programokat írj.  JOBB, HA NAPI 15-20 PERCET TANULSZ, MINT HA EGYSZERRE ÜLSZ NEKI 2-3 ÓRÁRA. IGAZ. 15-20 perc koncentrált tanulás naponta elegendő
  11.  HA NEM TUDOM, HOGYAN KELL MEGÍRNI AZ ÚJ FACEBOOKOT HÁROM HÓNAPNYI TANULÁS UTÁN, NEM IS VAGYOK PROGRAMOZÓNAK VALÓ.  HAMIS. Kódolni tanulni olyan, mintha egy új nyelvet próbálnál elsajátítani. Ott sem várnád el magadtól, hogy 3 hónap után anyanyelvi szinten beszélj, ugye? Légy türelmes magaddal, és hagyj időt begyakorolni az új készségeidet!  RENDBEN VAN, HA NEM ÉRTEK MEG EGY FOGALMAT AZONNAL, VAGY VISSZA KELL MENNEM GYAKOROLNI OLYASMIT, AMIT MÁR MEGTANULTAM EGYSZER.  IGAZ. Ne bátortalanítson el, ha valami nem megy szuper könnyen, vagy meg kell ismételned bizonyos részeket. Senki HOGYAN TANULJ PROGRAMOZNI HATÉKONYAN?
  12. MI AZ A PYTHON?  Évek óta a listák élén áll a Python, mint az egyik legnépszerűbb programozási nyelv. A munkaerőpiacon is az egyik legkeresettebb, emellett rendkívül népszerű a kezdő programozók körében, de vajon miért?  Népszerűsége elsősorban a könnyű szintaxisának köszönhető. Megalkotója, Guido van Rossum azt szerette volna elérni, hogy olyan könnyen érthető legyen, mintha csak angolul lenne írva. Így a maga egyszerűségével felvette a versenyt a többi programozási nyelvvel.
  13. MIRE VAN SZÜKSÉGÜNK?  A .PY FÁJL Legelőször a megfelelő kiterjesztésű fájl, amibe beleírhatjuk a kódunkat, és amit később le tudunk futtatni.  AZ INTERPRETER – a TOLMÁCS Egy speciális értelmező program, ami segít nekünk megírni, és a számítógépünknek futtatni a megírt Python-kódunkat.  A PYTHON SHELL
  14. A PYTHON ADATTÍPUSAI A számítógépek világában az egyik alapvető építőelem AZ ADAT. Ha a Pythont emberi nyelvekhez hasonlítod, akkor az egyes adatok (értékek) a szavaknak felelnek meg. Ezek lesznek a kódod alap építőelemei. Az adatoknak típusa van (ahogy Access-ben már megtanultuk): 1) INT (integer = egész szám): Ebbe a típusba tartoznak az egész számok. Ez a legtöbb esetben elegendő lesz számunkra, amikor
  15. A PYTHON ADATTÍPUSAI 2) FLOAT (= lebegőpontos): ide tartoznak a nem egész számok, amiket használunk pl. amikor osztást végzünk, vagy nem egész számokkal dolgozunk, mint pl.: 1.5; 0.001 – tizedesPONTTAL!! 3) BOOL (boolean = logikai érték, Igaz-Hamis): ez az adattípus kétféle értéket vehet fel: True vagy False. Segítségével igaz-hamis, igen-vagy-nem típusú kérdéseket tehetünk fel a kódban.
  16. A PYTHON ADATTÍPUSAI 4) STR (string = zsinór): egyszerű objektumok sorozata, karaktersor, karakterlánc, karakterfüzér. Tartalmazhat: betűt, számot, szóközt, szimbólumot. Minden str típusú értéknek számít, amíg a karaktersort aposztróf (') vagy idézőjel (") veszi körbe. Pl.: 'Ez egy string.', "Ez is 1 string.", 'Sőt, 3z is @z.', és ez '123' is.
  17. VÁLTOZÓK  A matematikában a változó egy ismeretlen mennyiséget jelent, míg a számítógép-tudományban azt a helyet értjük alatta, ahol egy mennyiséget tárolhatunk.  A VÁLTOZÓ nem más, mint egy tárolódoboz, amibe bármikor bármit tehetünk – számot, szöveget.  A folyamatábránál már találkoztunk változóval.  Az értékadást követően ha legközelebb a doboz (változó) nevét írjuk le (IDÉZŐJELEK NÉLKÜL), akkor behelyettesíti oda
  18. VÁLTOZÓK  A változókat azért hívjuk változóknak, mert az értékük változhat.  Ha új értéket adunk neki, a régi egyszer s mindenkorra nyomtalanul eltűnik.  Gondoljuk végig az alábbi program kimenetét, aztán futtassuk a programot, hogy kiderüljön, jól tippeltünk-e.
  19. VÁLTOZÓKRA VONATKOZÓ SZABÁLYOK Szabály, hogy a Python változónevei:  betűvel vagy alávonással („_”) kezdődhetnek;  betűvel, számmal vagy alávonással folytatódhatnak;  ÍRÁSJEL ÉS SZÓKÖZ NEM LEHET BENNÜK – egybeírjuk;  kis- és a nagybetűérzékeny (azaz Majom, majom és majoM három külön változó). Ezért egybeírt összetettszavas változónév esetén a szóhatárokat nagybetűvel is jelölhetjük (pl.: szulHely);  nem egyezhetnek meg az úgynevezett „foglalt szavakkal” – ilyen például a for, az if, vagy a while.
  20. ADATBEKÉRÉS – AZ INPUT PARANCS  A legtöbb program kér adatokat a felhasználótól. A telefonunkba be kell írni az új telefon számot, vagy egy listából kiválasztani a már rögzítettet. A böngészőnkbe beírjuk, hogy melyik webhelyet nyissa meg. A gépünknek megadjuk a jelszavunkat.  Pythonban a felhasználótól az INPUT utasítással kérhetünk adatot. Az utasítás legegyszerűbb formája az , így, két zárójellel. Írjunk be ennyit egy programba, és futtassuk le!
  21. AZ INPUT PARANCS  Ha az előző programunkat úgy módosítjuk, hogy a zárójelek között megadjuk, hogy mit kérdezünk a felhasználótól, pl.: , akkor ez kiíródik.  De a programunk nem jegyzi meg, amit válaszolunk, mert azt nem mondtuk neki. Itt lesznek segítségünkre a VÁLTOZÓK!  A programunk akkor tudja megjegyezni és később felhasználni a bekért adatokat, ha azt eltároljuk egy változóban:
  22. A PRINT PARANCS  Már sokszor találkozunk vele, és mindig csak egyértelműnek vettük a jelenlétét.  A utasítás ebben az esetben nem nyomtatja ki a kért adatokat, hanem a képernyőre való kiíratást jelenti.  A print utasítás több dolgot is ki tud írni egymás után. Amit ki akarunk íratni, azt a zárójelen belül, vesszővel elválasztva kell felsorolnunk. pl.:  Bármelyik szöveg helyett írható változó.  FELADAT: Egészítsd ki az előző névbekérős
  23. KÜLÖNLEGES PRINT KAPCSOLÓK  SEP: A kiírandók közé alapértelmezetten tesz szóközt. Ennek megakadályozására a parancs végére megadhatjuk, hogy NE legyen elválasztó karakter:
  24. KÜLÖNLEGES PRINT KAPCSOLÓK  n: Ezzel tudunk sort törni a parancsban kiadott szövegben  ’’: A semmi kiíratásával is kérhetünk egy üres sornyi térközt  END: Két külön print() parancs két külön sorba írja ki az eredményét. A sep-hez hasonlóan ez is megakadályozható:
  25. KÜLÖNLEGES PRINT KAPCSOLÓK  Backslach (’’): A visszaperjel egy vezérlőkarakter, és nem kerül közvetlen kiírásra, értelmezni próbálja. Ha visszaperjelet akarsz kiíratni, akkor egymás után kettőt kell írni!  Rajzoltasd meg az alábbi ábrákat karakterek segítségével:
  26. GYAKORLÁS 1) Mit írnak ki az alábbi programok? 2) Visszhangjáték: kérjünk be a felhasználótól egy szót, és a programunk írja ki neki háromszor!  Kell egy változó, amiben eltárolod a bekért szót.  Azt a változót írja ki háromszor. Próbáld ki, hogy meg tudod-e szorozni! 3) Kérdezd meg a felhasználótól a nevét, az osztályát, és hogy hány éves! Ez után egy összetett mondatban illőn üdvözöld és írasd ki neki az adatait! 1.) 2.) 3.)
  27. MATEMATIKAI OPERÁTOROK  Az operátorok olyan karakterek, amelyek a mellettük álló adatokkal valamilyen műveletet hajtanak végre, és ezzel új értéket hoznak létre.  Az operátorok működési elvükben nagyon hasonlítanak a matemati-kai műveleti jelekre:  Összeadás: +  Kivonás: -  Szorzás: *  Osztás: /  tizedes törtet ad eredményül  Hatványozás: **  Maradék: %  Előbb megnézi, hogy hányszor van meg a bal oldali számban a jobb oldali szám, majd visszaadja az osztás maradékát: (17 % 5) esetében a válasz 2, mert 17-ben háromszor van meg az 5, és 2 a maradék.
  28. MATEMATIKAI OPERÁTOROK MŰKÖDÉSE  Az, hogy a műveleti jel pontosan milyen műveletet végez, attól is függ, hogy az adat milyen típusú.  A Python nem találgat, hanem azt várja el, hogy pontosan adjuk meg az adatok típusát.  A műveleti sorrend a matematikai elvekkel teljesen megegyező.  Az összeadásjel:  két számot összead,  két karakterláncot egymás mellé ír.  A szorzásjel:  két számot összeszoroz,  számot észlelve a karakterláncot egymás mellett a számnak
  29. ÖSSZEHASONLÍTÓ OPERÁTOROK  Időnként előfordul majd, hogy összehasonlító jellegű kérdéseket szeretnél feltenni a kódodban. pl.: „X nagyobb-e, mint Y?” vagy „’W’ egyenlő-e ’Z’-vel?”.  Az ilyen kérdéseket a Python képes kiértékelni, és True / False kijelentésekkel megválaszolni (ez lesz a bool érték).  Az összehasonlító operátorok nem mások, mint a RELÁCIÓS JELEK, amit az Access-ben is gyakran használtunk már, akár szövegekkel is (egyenlő, vagy
  30. ÖSSZEHASONLÍTÓ OPERÁTOROK  Fajtái:  Gyakorlás: Érték 1 Operáto r Érték 2 Kiolvasva Eredmén ye 5 > 2 Öt NAGYOBB-E, MINT kettő? True 10 < 7 Tíz KISEBB-E, MINT hét? False 3 >= 1 Három NAGYOBB VAGY EGYENLŐ, MINT egy? True 4 <= 9 Négy KISEBB VAGY EGYENLŐ, MINT kilenc? True 8 == 8 Nyolc EGYENLŐ-E nyolccal? True négy != négy Négy NEM EGYENLŐ-E néggyel? False
  31. LOGIKAI OPERÁTOROK Őket is tanultuk már az Access-ben. Feltételek összefűzéséhez használtuk akkor is:  AND: ÉS kapcsolat (minden feltételnek igaznak kell lennie)  OR: VAGY kapcsolat (elég, ha az egyik operandusa igaz)
  32. TÍPUSÁTALAKÍTÁSOK - TÍPUSKONVERZIÓ  Ahhoz, hogy az operátorok tudjanak műveleteket, vagy összehasonlításokat végezni az adatokkal, ahhoz azonos típusra kell őket alakítanunk.  Próbáljuk ki, hogy mi történik, ha bekérünk két számot, és azokkal műveletet szeretnénk végrehajtani!  Miért írja egymás után a megadott számokat? Mikor fordul ez elő eddigi tanulmányaink alapján?  Bár mi számmal válaszoltunk, de a Python óvatos. Nem tudhatja, hogy amit válaszoltunk a kérdésére, azt biztos tízes számrendszerbeli számnak gondoltuk-e.  Ezért minden, amit az INPUT() a programunknak átad, az szöveg, azaz STR típusú.
  33. TÍPUSKONVERZIÓ  A típusátalakítást a Pythonban a kívánt adattípus nevével megegyező utasítással végezzük el. (int, float, str) pl.: az int('2021') utasítás eredménye 2021 számként.  Típuskonverzióval közvetlenül a bekérésnél is megadható, hogy a bejövő adat milyen adattípusú legyen.  Fentiek alapján az előző programunk helyes megoldása:
  34. GYAKORLÁS 4) Kérd be az idei évet, és tárold el számként! 5) Kérd be, hogy melyik évben született a felhasználó, és tárold számként! 6) Kérd be a nevét és tárold el egy változóban! 7) Ezt követően üdvözöld a felhasználót, és közöld vele, hogy hány éves (az idei évből ki kell vonni a születési idejét):
  35. TÍPUSKONVERZIÓ – STRINGGÉ ALAKÍTÁS  Láttuk már, hogy két karakterlánc összeadható, és azt is láttuk, hogy a PRINT() utasításnak több kiírnivaló is átadható, amiket vesszővel választunk el típustól függetlenül. De vajon lehet olyat írni, hogy  Hogyne! Ilyenkor előbb „összeadódnak” a KARAKTERLÁNCOK, és ezt követően egyetlen karakterláncot kap meg a PRINT().  A probléma az INPUT() paranccsal van, mert ott nem működik a vesszős összefűzés, ami típusfüggetlen lenne.  Ha több dolgot szeretnél egyszerre megkérdezni, vagy
  36. FELADATOK 8) Tengeri mérföld: Kérjünk be egy kilométerben mért távolság-adatot a felhasználótól, és írjuk ki tengeri mérföldre átváltva! (Egy tengeri mérföld 1852 méter.) 9) Írj programot, amelyben egy a nevű változóban eltárolsz egy számot, egy b nevű változóban egy másikat. Majd kiírod a képernyőre az elvégzett művelettel együtt az a-b különbségét. 10)Négyzet: Kérjük be egy négyzet oldalának méretét, és írassuk ki, hogy az a-oldalú négyzet kerülte és területe mekkora!
  37. ELÁGAZÁS – AZ IF PARANCS  Hasznos programok írásához szinte mindig szükségünk van a feltételek ellenőrzésének képességére és arra, hogy ezek alapján megváltoztassuk a program viselkedését.  A feltételes utasítások adják meg nekünk ezt a képességet. A legegyszerűbb formája ennek az if utasítás: Az IF utasításnak 2 eredménye lehet: Az első eredmény akkor áll elő, ha az összehasonlítás IGAZ. A második pedig akkor, ha HAMIS. Szám > 0 A szám pozitív A szám negatív
  38. AZ IF SZINTAKTIKÁJA  Az if utasítás tartalmaz egy fejléc sort és egy törzset.  FEJLÉC: az if kulcsszóval kezdődik, amit egy igaz-hamis kifejezés követ, majd kettősponttal (:) zárul.  TÖRZS: A fejlécet követő behúzott sorok alkotják a törzset az összes ággal együtt. Az első nem behúzott sor jelenti a törzs végét.  ELSŐ BLOKK: Az első blokk összes utasítása sorban végre lesz hajtva, ha a Boolean kifejezés 2 if BOOLEAN-KIFEJEZÉS: 3 | UTASÍTÁS_1 #Végrehajtódik, ha a feltétel kiértékelése igaz értéket ad 4 else: 5 | UTASÍTÁS_2 #Végrehajtódik, ha a feltétel kiértékelése hamis értéket ad fejléc törzs
  39. AZ IF SZINTAKTIKÁJA  ELSE ÁG: else utasítás, melyet (:) követ  MÁSODIK BLOKK: Az első utasításblokk egésze ki lesz hagyva, ha a logikai kifejezés FALSE értékű, és ezek helyett az else alatti összes behúzott sor hajtódik végre.  A két utasításblokk közül tehát pontosan az egyik hajtódik végre, és ezután a vezérlés a 2 if BOOLEAN-KIFEJEZÉS: 3 | UTASÍTÁS_1 #Végrehajtódik, ha a feltétel kiértékelése igaz értéket ad 4 else: 5 | UTASÍTÁS_2 #Végrehajtódik, ha a feltétel kiértékelése hamis értéket ad fejléc törzs
  40. IF FAJTÁI  Egyágas elágazás: nem írjuk meg az else-ágat, és így csak a TRUE-ág parancsait hajtja végre.  Láncolt feltételes elágazás: több if parancs összefűzésével több kimenetet is tudunk kezelni, ahogy az Excel-ben is csináltuk. A fejlécet és az első blokkot válto- zatlanul megírjuk. Az ELSE helyett ELSE IF (rövidítve ELIF) ágat írunk, és az Excel-hez hasonlóan itt is a végén csak 1 db hamis, ELSE ág lesz.
  41. FELADATOK 12)Írjunk programot, ami bekér egy számot, és vizsgálat után kiírja, hogy pozitív, vagy negatív-e a szám. 13)Az előző programot javítsuk egy 3. lehetőséggel, ha nullát írna be a felhasználó, akkor arra írja ki, hogy nulla. 14)Készíts egy programot, ami bekér egy számot a felhasználótól, majd kiírja, hogy a megadott szám páros-e vagy páratlan. [HELP] A maradékos osztás segít! Mennyivel kell elosztani a számot
  42. FELADATOK 15)Kérdezd meg a felhasználótól, hogy hányadik lett a versenyen! Ha benne van az első háromban, akkor írd ki, hogy “dobogós”! [HELP] Összetett feltételt AND operátorral is tudsz csinálni, ahogy Access-ben tanultuk, de a Python könnyített feltételeket is megért: 0<x<4. Csak az if-sort kell megírni – egyágas elágazás. 16)Vezess be egy változót, és adj neki értéket 1-10 között! Kérj be a felhasználótól egy tippet! Ha eltalálta, akkor dicsérd meg! Ha nem, akkor ne
  43. VÉLETLENSZÁM-GENERÁTOR  Meglehetősen unalmas lenne, ha a programunk mindig csak a hetes számra tudna gondolni. De szerencsére létezik módszer véletlen számok előállítására.  A random.randint (random int = integer, azaz véletlen egész) a megfelelő utasítás, de használatához be kell töltenünk a random nevű modult a program elején.
  44. FELADATOK 17)Kérj be a felhasználótól egy tetszőleges szót! Aztán kérd tőle ugyanazt a szót még egyszer! Ha nem egyezik meg a két beírás, akkor írd neki, hogy téves a jelszó, a jelszóváltoztatás sikertelen. Egyébként a belépést engedélyezheted számára. 18)Állíts elő két véletlen számot 1-100 között, majd az input parancsba belefűzve a számokat, kérdezd meg a felhasználótól azok összegét! Ha helyesen válaszol, akkor dicsérd meg! Ha nem, akkor mondd neki, hogy még gyakoroljon. [HELP] Az input parancsba + jellel tudsz változót
  45. FELADATOK 19)Írj olyan programot, amelyik bekér két csapatnevet és két pontszámot, majd kiírja a mérkőzés eredményét és a nyertest is. 20) ...
  46. FELADATOK 21). 22) ...
  47. WHILE-CIKLUS – A FELTÉTELES  A ciklus valamilyen ismétlődő dolgot jelent. Gondolhatunk pl.: holdciklusra, választási ciklusra, árapályciklusra.  Mi egy olyan programrészletet értünk rajta, amely valahányszor megismétlődik.  Szintaktikája hasonló az if utasításhoz:  Fejléce: WHILE (amíg teljesül…) + BOOLEAN-kifejezés  Ciklusmag: beljebb kezdődik, és tartalmazza a
  48.  A != helyett milyen feltétellel érhetjük el ugyanezt az eredményt?  Hogyan változik a program kimenete, ha a ciklusmag két sorát felcseréljük?  Ha a felcserélt sorokkal is szeretnénk a számokat 1-től 100-ig kiírni, mit kell még módosítani a
  49.  A ciklusba való belépésnek feltétele van – csak akkor lépünk be a ciklusba, ha ez a feltétel teljesül.  A ciklusmag végét követően a program futtatása visszatér a fejlécbe, és kezdi elölről a ciklust.  A feltételt minden ismétlődéskor újra meg újra megvizsgálja a Python, és ha nem teljesül, akkor nem megy be a ciklusba, hanem utána folytatja a kód végrehajtását.  Fontos, hogy a while-hurok a fejléc logikai kifejezését előbb teszteli, mielőtt bármi más megtörténik. Amint hamis a kiértékelés ered- ménye, akkor a ciklusmag nem fut le.
  50. ELEMEZZÜNK!
  51. FELADATOK 23) Írj egy programot, amely kiírja a páros számokat 1 és 100 között! 24) Írj egy programot, amely csökkenő sorrendben írja ki a számokat 1 és 100 között! 25) Írj egy programot, amely kiírja a páratlan számokat csökkenő sorrendben 1 és 100 között! 26) Írj egy programot, amely a felhasználó által meghatározott alkalommal írja ki a bekért szöveget! 27) Írj egy programot, amely a felhasználótól páros számot kér be. Amennyiben a megadott szám páratlan, újra és újra megtörténik az adatbekérés mindaddig, amíg végül páros
  52. BOOL (LOGIKAI) ADATTÍPUS A CIKLUSBAN 29) Írj számkitalálós programot! Véletlenszámra gondol a gép 1-10 között. Addig tippelhessünk, amíg el nem találjuk. Próbáld ki egy új változóval! 30) Fejleszd az előző programod , hogy csak 3x próbálhassa
  53. FELADATOK Ciklussal meg tudunk oldani egyenleteket próbálgatással. 32) Oldjuk meg a 3x + 2 = 59 egyenletet a pozitív egészek halmazán! 33) Oldjuk meg a –x2+6x-9 = 0 egyenletet a pozitív egészek halmazán! 34) Írj pénzfeldobás-szimulátort! Írja ki, hogy fejet vagy írás dobott-e, és ajánlja fel, hogy dob újat! Használd a véletlenszám-generátort! Kipróbálhatod a randint utótag helyett a choice(['fej', 'írás']) -t is. 35) Fejleszd az előző programot tovább! Automatikusan
  54. FOR-CIKLUS – A LÉPTETŐ  Bejáró (léptető) ciklusként lehet jellemezni.  Működését a kifejezésben megadott értékek határozzák meg, például azt hogy hányszor fusson le a ciklusmag.  Szintaktikája hasonló az előzőleg tanultakhoz:  Fejléce: for i in range(kezdőérték, végérték, lépés)
  55.  Mi van, ha például az a feladatod, hogy tárold a programod-ban az összes telefonszámot, amit felhívtál? Vagy az összes meccseredményt a kedvenc sportágad múlt hetéből? Vagy az összes könyved címét? Vagy az összes osztálytársad, kedvenc mesehősöd nevét? Vagy valami ilyesmit? És ezekkel később dolgozni is akarsz.  Azt tudjuk, hogy változókban szokás tárolni a bekért adatokat. De ezek egyre többen lesznek. Mondjuk írsz is rá programot: A LISTA - AZ ÖSSZETARTOZÓ ADATOK KEZELÉSE
  56.  A lista egy adatszerkezet, vagy idegen szóval adatstruktúra.  Az adatszerkezetek arra valók, hogy több, egymással számunkra összefüggő adatot tároljunk bennük.  A Python nyelvben a lista jele a szögletes zárójel. pl.: mesehősök[ ]  A listáknak érdemes többes számú főnevet névül adni: lovak, játékosok, hónapok.  A listának a létrehozása pillanatában is adhatunk értéket, de a későbbiekben is módunkban áll újabb elemeket fűzni hozzá. A LISTA - AZ ÖSSZETARTOZÓ ADATOK KEZELÉSE
  57. A LISTA TULAJDONSÁGAI  Megtartja az adatok sorrendjét  Nem kell egyforma típusú adatoknak lenniük egy listán belül  Minden eleme sorszámot kap nullától kezdődően!! Ennek megfelelően az „n”-elemű lista utolsó eleme az „n-1”. sorszámú.  Létrehozása legegyszerűbben az elemek szögletes zárójelbe való felsorolása.  A lista elemeinek kiíratására a print() helyett a .join(listanév) tagfüggvényt, más szóval metódust
  58. FELADATOK 38)Kérd be a felhasználótól a kedvenc zenei előadói nevét, amíg üres Entert nem üt, és tárold az eredményt listában! 39)Az előző programot módosítsd úgy, hogy a kedvenc számok címét is kérd be úgy, hogy a kérdésbe belefoglalja, hogy melyik előadóról van szó. És tárold őket egy másik listában!
  59. LISTAELEMEK ELÉRÉSE INDEX- OPERÁTORRAL  A lista adatok valamilyen módon rendezett gyűjteménye.  Azokat az értékeket, amelyek a listát alkotják elemeknek nevezzük.  Ahogyan már korábban is használtuk, a változókhoz és a listákhoz tartozó listaelemeket paraméterként hozzárendelhetjük a függvényekhez.  A listaelemeket külön-külön is elérhetjük a listán belül a sorszámo-zásuknak köszönhetően az index- operátorral: [ ]. Ez egy tartomány: [2; 4) Ez egy művelet, értéke 3
  60. A BEJÁRÓ FOR-CIKLUS  Használhatjuk a for-ciklusban a ciklusváltozót lista- indexként, ezt nevezzük bejárásnak:  Vagy másképp: A ciklus általában for valami in valamik alakú sorral kezdődik. A valamik a bejárható objektum, amiben több dolog van, ezért is többesszámú főnév a neve. A valami az a valamik épp aktuális eleme, és bejárónak, más szóhasználattal ciklusváltozónak nevezzük. Az előző esetünkben lehetne for gyümi in gyümik.
  61. A LISTA-MŰVELETEK I. A lista hossza:  A lista elemeinek a számát megadó függvény:  A lista elemeinek a száma != az utolsó indexű elemmel  Ha indexet használunk a lista eléréséhez, célszerűbb, ha így használjuk az utolsó elemre való hivatkozáshoz: egyszerűbben: II. Lista tagság: Az in és a not in boolean típusú operátorok, amelyek megvizsgálják egy elem
  62. 41)Megadunk egy listát: lovak = [‘Ráró’, ‘Baró’, ‘Tipró’, ‘Karó’]. Kérd be egy színek nevű listába, hogy melyik ló milyen színű! 42)Kérd be az éppen célba érkező lóversenyzők nevét, és tárold el egy listában. Addig kérd, amíg üres Enter-t nem nyom. A bevitel végén írasd ki a célba érkezőket vesszővel elválasztva, valamint írasd ki az első, a második, a harmadik, és az utolsó helyezettek nevét külön-külön sorban. 43)Emeld négyzetre az xs = [1,2,3,4,5] lista minden FELADATOK
  63. A LISTA-MŰVELETEK  A + operátor összefűzi a listákat:  A * operátor megismétli a listát a megadott számszor:  A : szeletelő operátor részlistákat hoz létre, vagy klónozni is tud:  Törlés listából az index alapján: del vagy üres értékadás
  64. Használatuk: MÓDOSÍTANDÓ_LISTA.METÓDUS(PARAMÉTER)  .append(elem) -metódus: az új elemet a lista végére fűzi  .insert(pozíció, elem) -metódus: a megadott helyre új elem  .extend(lista) -metódus: egy lista másik listával való bővítése  .remove(elem) -metódus: kiveszi a listából azt, amit a zárójelben megadunk, pontosabban annak az LISTA-MŰVELETEK METÓDUSOKKAL
  65. LISTA MÓDOSÍTÁSA  Az értékadás bal oldalán az index operátor használatával az egyik elemet módosíthatjuk. Ezt nevezzük indexelt értékadásnak.  A : szeletelő operátorral módosíthatunk teljes részlistát:  Hozzáadhatunk a listához elemeket úgy, hogy beszúrjuk őket egy üres szeletre a kívánt helyen:
  66. 44)Írj olyan programot, amely egy-egy listába bekéri három-három leves, főétel és desszert nevét, majd kiír három menüt, mindegyikben egy levessel, főétellel és desszerttel! 45)Szimuláljunk száz kockadobást, és az eredményeket tároljuk listában! A program számolja meg, hogy hányszor lett hatos! 46)Az előző feladatban számolja meg azt is, hogy hány helyen volt úgy, hogy ötöst dobott a hatos előtt? [HELP] Mivel index alapján akarunk vizsgálni, ezért FELADATOK
  67. 47)Állítsunk elő harmincelemű, nulla és kilenc közötti véletlen számokat tartalmazó listát! A számok egy útvonal magassági adatait jelentik. Meredek az útszakasz, ha legalább kettővel magasabb az aktuális hely, mint az előző. Hány meredek szakasz van az úton? 48)És visszafelé? 49)A programunk elején adjunk meg két listát: az első tartalmazzon öt filmcímet, a második a filmek egy-egy főszereplőjét! Az első filmhez az első szereplő tartozik, a másodikhoz a második, és így tovább. Írjuk FELADATOK
  68. Művelet Mit csinál String Lista indexálás szöveg[szám] visszaadja a [szám] indexű elemet   szeletelés szöveg [2:4] visszaadja az objektum egy részét   összeadás + egymás mellé helyezi a két objektumot, egy harmadikat alakítva ki belőlük   len() Az objektum hosszát állapítja meg   .count(elem) megszámolja, hogy hányszor van az adott elem az objektumban   .append(elem) az objektum végére biggyeszt valamit   .extend(lista) az objektumot egy másik objektummal bővíti   .remove(elem) elvesz egy elemet az objektumból   .insert(poz, elem) új elemet illeszt az objektumba   STRING VAGY LISTA
  69. FELADATOK Mindegyik feladathoz a szöveg = “kenyeret ettem meggyel” karakterláncot használd! 50)Számold meg, hány ’e’ betű van benne! 51)Írasd ki fordítva! 52)Írasd ki minden 3. karakterét! 53)Találjunk ki együtt megoldandó feladatokat!
  70. ELEMI PROGRAMOZÁSI TÉTELEK  Megfigyelések alapján kategorizálni lehet a programozási feladatokat, azaz visszavezethetők néhány alapproblémára.  Az alapproblémákra létezik megoldási sablon.  Az ilyen, egy-egy feladattípus megoldását nyújtó algoritmusokat nevezzük PROGRAMOZÁSI TÉTELNEK.  Nem, nem kell őket bizonyítani, ez nem matekóra (még szerencse…)
  71. SOROZATSZÁMÍTÁS: ÖSSZEGZÉS, SZORZÁS  Bejárható adattípus elemeivel való műveletek
Publicité