Python bevezető foglalkozás Python bevezető foglalkozás

Hasonló dokumentumok
Változók és adattípusok Változók és adattípusok

Scratch bevezető foglalkozás Scratch bevezető foglalkozás

Gyakorló feladatok Gyakorló feladatok

Vezérlési szerkezetek Vezérlési szerkezetek: feltételes elágazás és ciklusok

Animáció készítése Scratch-ben

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Interaktív alkalmazások készítése Scratch-ben

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

A C# programozási nyelv alapjai

1. Alapok. #!/bin/bash

Szoftvertervezés és -fejlesztés I.

Függvények Függvények

Imperatív programozás

Programozási nyelvek Python

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Imperatív programozás

Python tanfolyam Python bevezető I. rész

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Java Programozás 1. Gy: Java alapok. Ismétlés ++

Webprogramozás szakkör

Listák, szótárak, fájlok Listák, szótárak, fájlok

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

AWK programozás, minták, vezérlési szerkezetek

AWK programozás, minták, vezérlési szerkezetek

A Python programozási nyelv

1. Jelölje meg az összes igaz állítást a következők közül!

van neve lehetnek bemeneti paraméterei (argumentumai) lehet visszatérési értéke a függvényt úgy használjuk, hogy meghívjuk

Mintavételes szabályozás mikrovezérlő segítségével

Occam 1. Készítette: Szabó Éva

Informatika terméktervezőknek

2018, Diszkrét matematika

PYTHON. Avagy hosszú az út a BioPythonig

Ismerkedés a Python programnyelvvel. és annak micropython változatával

Bevezetés a programozásba I.

Vezérlési szerkezetek

S z á m í t ó g é p e s a l a p i s m e r e t e k

Smalltalk 2. Készítette: Szabó Éva

BASH script programozás II. Vezérlési szerkezetek

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozás I. gyakorlat

BASH SCRIPT SHELL JEGYZETEK

Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Szkriptnyelvek. 1. UNIX shell

Programozás II. 2. Dr. Iványi Péter

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

Labor gyakorlat Mikrovezérlők

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

Hálózatok építése és üzemeltetése

A C# PROGRAMOZÁSI NYELV

Intermec EasyCoder PM4i nyomtató programozásának alapjai Intermec Fingerprint v8.00 nyelven

Szoftvertechnológia alapjai Java előadások

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Szelekció. Döntéshozatal

Python I. Vincze Dávid Miskolci Egyetem, IIT

Bevezetés a programozásba

Delphi programozás I.

AWK programozás Bevezetés

A Python programozási nyelv

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

2019, Diszkrét matematika. 1. el adás

Komputeralgebra Rendszerek

Programozás alapjai (ANSI C)

Adatok ábrázolása, adattípusok

Vezérlési szerkezetek. Szelekció Ciklusok

Objektumorientált Programozás III.

Programozás BMEKOKAA146. Dr. Bécsi Tamás 3. előadás

Imperatív programozás

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana

Alkalmazott modul: Programozás 4. előadás. Procedurális programozás: iteratív és rekurzív alprogramok. Alprogramok. Alprogramok.

PROGRAMOZÁS tantárgy. Gregorics Tibor egyetemi docens ELTE Informatikai Kar

LibreOffice Makró Basic

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Operációs Rendszerek II. labor. 2. alkalom

Matematikai programok

Programozás alapjai 2.Gy: A C nyelv alapjai P R O

Java gyakorlat feladatai e s megolda sai ( )

Tartalomjegyzék. Általános Információ! 2. Felhasználói dokumentáció! 3. Feladat! 3. Környezet! 3. Használat! 3. Bemenet! 3. Példa!

Programzás I gyakorlat

Matematikai programok

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

HTML. Ismerkedés a JavaScripttel. A JavaScript lehet ségei. A JavaScript kód helye. Önálló JavaScript fájlok

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Programozás alapjai. 2. előadás

C programozási nyelv

Vezérlési szerkezetek

Algoritmus fogalma. Mi az algoritmus? HF: Al Khwarizmi. Egy adott probléma megoldásának leírása elemi lépések sorozatával

6. fejezet: Ciklusok

Apple Swift kurzus 3. gyakorlat

Programozási nyelvek (ADA)

3. Osztályok II. Programozás II

Labor gyakorlat Mikrovezérlők

Atomerőművek üzemtanának fizikai alapjai. MATLAB használata

LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR

Programozási segédlet

1. Egyszerű (primitív) típusok. 2. Referencia típusok

2016, Diszkrét matematika

Matlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15

INFORMATIKA javítókulcs 2016

Átírás:

Python bevezető foglalkozás program, programozás, programnyelvek a Python nyelv és az IDLE környezet változók és adattípusok konzol input és output (input(), print()) vezérlési szerkezetek (if/else, while)

Mi a program? utasítások sorozata valamilyen feladat megoldására amit egy számítógép hajt végre 2

Programozás 1. feladat megértése 2. tervezés 3. kódolás 4. tesztelés 5. hibák javítása 6. továbbfejlesztés A programozás során a feladat megoldását a gép által egyértelműen végrehajtható, apró lépésekre kell bontani! 3

Páros számok Utasítások:... változó értéke legyen:...!... változó értéke változzon ennyivel:...! Ha... akkor folytasd a...-dik sortól! Írd ki... változó értékét! Stop. Készíts programot! Ezen utasítások segítségével írj programot, mely kiírja a páros számokat 1-től 100- ig! Példa: 1 X változó értéke legyen: 12! 2 T1 változó értéke legyen: Ez egy egyjegyű szám.! 3 T2 változó értéke legyen: Ez egy többjegyű szám.! 4 Ha X > 9 akkor folytasd a 7-dik sortól! 5 Írd ki T1 változó értékét! 6 Stop. 7 Írd ki T2 változó értékét! 8 Stop. Hogy működik? Elemezd ezt a példát úgy, hogy lépésenként követed a program futását! 4

Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. 5

Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 2 6

Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 2 2 7

Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 4 2 8

Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 4 2 9

Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 4 2 4 10

Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 6 2 4 11

Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 6 2 4 12

Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 6 2 4 6 13

Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 100 80 82 84 86 88 90 92 94 96 98 100 14

Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 102 80 82 84 86 88 90 92 94 96 98 100 15

Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 102 80 82 84 86 88 90 92 94 96 98 100 16

Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 2-dik sortól! 5 Stop. Változók: X = 102 80 82 84 86 88 90 92 94 96 98 100 17

Programozási hibák Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X < 101 akkor folytasd a 3-dik sortól! 5 Stop. Mit ír ki? Vizsgáld meg ezt a programot! Mit ír ki? Program: 1 X változó értéke legyen: 2! 2 Írd ki X változó értékét! 3 X változó értéke változzon ennyivel: 2! 4 Ha X > 0 akkor folytasd a 2-dik sortól! 5 Stop. Mit csinál ez a program? Vizsgáld meg ezt a programot! Hogyan viselkedik? Mit ír ki? 18

Programozási nyelvek programok írására szolgáló mesterséges nyelvek utasításkészlet ( szótár ) szintaktikai szabályok ( nyelvtan ) sokféle programozási nyelv létezik pl. Scratch, Python, JavaScript, PHP, Java, C, Ada... 19

A Python nyelv és az IDLE környezet Python könnyen elsajátítható és használható sok előre megírt modult tartalmaz modul = hasznos programocskák halmaza nagy cégek is használják Google, Pixar, NASA,... IDLE (Integrated Development and Learning Environment) integrált fejlesztő és tanuló környezet alkalmas Python programok írására és futtatására 20

IDLE ablakok File New File vagy CTRL-N terminálablak (ebben fut a program) kódablak (ebben írjuk a programot) 21

IDLE ablakok terminálablak (ebben fut a program) Run Run Module vagy F5 kódablak (ebben írjuk a programot) Futtatás előtt az IDLE szeretné elmenteni a programot. Hozz létre egy könyvtárat, amibe Python programjaidat mented! A Python programok neve bármi lehet, a kiterjesztésük általában.py (például HelloWorld.py) 22

Kisérletezz! Másold le ezeket a programokat és próbáld őket futtatni! Mit tapasztalsz? 1. Minden print() új sorba ír. 2. Nem csak szöveget, hanem számot is ki lehet íratni. 3. Ha a print() bemenete egy kifejezés, akkor azt előbb kiértékeli a gép és az eredményt írja ki. 4. Szövegek összeadása az összefűzésüket jelenti. 5. Hoppá! 1 2 3 4 5 print("üdv mindenkinek!") print("pythonban programozni jó.") print(12) print(12 + 24) nev = "Andris" print("hello " + nev + "!") print("pythonban programozni jó.") nev = "Andris" kor = 12 print(nev + " " + kor + " éves.") 23

Változók egy változóra gondolhatsz úgy, mint egy névvel ellátott tárhelyre a változóban valamilyen értéket tárolhatsz (pl. egy számot vagy egy szöveget) szam = 6 print(szam) masikszam = 2*szam print(masikszam) szam = 18 print(szam) a tárolt értéket a változó nevének leírásával hívhatod elő a változó értékét bármikor felülírhatod 24

Kisérletezz! Gyors kisérletezéshez használhatod a terminál ablakot is! Próbáld ki! Hozz létre egy változót, legyen a neve A és az értéke 2! Írd le a változó nevét és nyomd meg az ENTER-t! Mit tapasztalsz? Hozz létre egy másik változót, ennek legyen a neve B és az értéke 4! Írd le a változó nevét és nyomd meg az ENTER-t! Mit tapasztalsz? Most írd le, hogy A+B és nyomd meg az ENTER-t! Mit tapasztalsz? Most írd le, hogy 2*(A+B) és nyomd meg az ENTER-t! Van egy számológéped! Hozz létre egy harmadik változót, ennek legyen a neve C és az értéke A*B! Írd le a változó nevét és nyomd meg az ENTER-t! Mit tapasztalsz? 25

Adattípusok egyszerű beépített adattípusok egész szám (integer) tört (float) szöveg (string): "..." vagy '...' igaz/hamis (Boolean): True, False a = 5 b = 6.5 c = "szöveg" d = 'ez is szöveg' e = True c = -10 egy változó típusát nem kell előre megmondani, akkor dől el, amikor értéket kap! 26

Típus hiba szöveg (str) egész (int) nev = "Andris" kor = 12 print(nev + " " + kor + " éves.") print(nev + " " + kor + " éves.") TypeError: must be str, not int 27

Típus átalakítás (konverzió) nev = "Andris" kor = 12 print(nev + " " + str(kor) + " éves.") adattípusok közötti átalakítást végezhetsz az str() és az int() átalakító függvényekkel: str(): egész vagy tört szám szöveg int(): szöveg egész szám 28

Andris és apa együttes kora andris = 12 apa = "41" print("andris " + (andris) + " éves.") print("apa " + apa + " éves.") egyutt = andris + (apa) print("andris és apa együtt " + (egyutt) + " éves.") Egészítsd ki ezt a programot! Írd be a helyére a megfelelő átalakító függvény nevét (int vagy str), hogy a program jól működjön! 29

Andris és apa együttes kora andris = 12 apa = "41" print("andris " + str(andris) + " éves.") print("apa " + apa + " éves.") egyutt = andris + int(apa) print("andris és apa együtt " + str(egyutt) + " éves.") 30

Konzol input az input() függvénnyel bekérhetsz valamilyen adatot a felhasználótól nev = input("hogy hívnak? ") kor = input("hány éves vagy? ") print("hello " + nev + "!") print("biztos jó " + kor + " évesnek lenni.") az input() függvény bemeneteként (a zárójelek között) megadhatsz egy szöveget, amit a gép kiír a képernyőre az input() visszatérési értéke a felhasználó által a konzolon beírt adat, amit egy változóban is tárolhatsz vigyázat: a visszatérési érték szöveg (string) típusú! 31

A téglalap kerülete Írj programot! Írj programot, mely bekéri egy téglalap két oldalának hosszát a felhasználótól, majd kiszámolja és kiírja a téglalap kerületét! Ha a téglalap oldalai a és b hosszúak, akkor kerülete 2*(a+b) alapműveletek számokkal: összeadás: + szorzás: * kivonás: osztás: / 32

A téglalap kerülete a = int(input("a téglalap egyik oldalának hossza: ")) b = int(input("a téglalap másik oldalának hossza: ")) print("a téglalap kerülete: " + str(2*(a+b))) a = int(input("a téglalap egyik oldalának hossza: ")) szöveg input("a téglalap egyik oldalának hossza: ") egész szám int( ) a 33

Feltételes elágazás egy programrész végrehajtását feltételhez kötheted az if utasítással (az if jelentése magyarul ha) az if párja az else (jelentése egyébként); az else utáni programrész akkor hajtódik végre, ha az if feltétele nem teljesül Figyeld meg a behúzásokat! szam = int(input("írj be egy számot! ")) if (szam > 100): print("ez egy nagy szám.") else: print("ez egy kicsi szám.") Ügyelj a kettőspontra! 34

Feltételes elágazás Az azonos méretű behúzással rendelkező, egymás utáni sorok egy összetartozó blokkot alkotnak if <feltétel>: else: A <feltétel> egy kifejezés, melynek értéke igaz (True) vagy hamis (False) lehet Ez az utasításblokk hajtódik végre ha a <feltétel> igaz Ez az utasításblokk hajtódik végre ha a <feltétel> hamis 35

Feltételes elágazás if <feltétel>: igen <feltétel> igaz? nem else: 36

Többszörös elágazás Módosítsd ezt a programot! Módosítsd ezt a programot úgy, hogy három esetet különböztessen meg: ha a szám nagyobb, mint 100, akkor írja ki, hogy ez egy nagy szám, ha a szám kisebb, mint 10, akkor írja ki, hogy ez egy kicsi szám, egyébként írja ki, hogy a szám se nem kicsi, se nem nagy! szam = int(input("írj be egy számot! ")) if (szam > 100): print("ez egy nagy szám.") else: print("ez egy kicsi szám.") 37

Többszörös elágazás szam = int(input("írj be egy számot! ")) if (szam > 100): print("ez egy nagy szám.") else: if (szam < 10): print("ez egy kicsi szám.") else: print("ez egy se nem kicsi, se nem nagy szám.") 38

Ismétlés Írj programot! Írj programot, mely bekér egy 100-nál nagyobb számot a felhasználótól! Ha a szám valóban nagyobb, mint 100, akkor köszönje meg a számot, de ha nem, akkor ismét próbáljon meg bekérni egy 100-nál nagyobb számot! 3 sikertelen próbálkozás után a program írja ki, hogy Feladom és fejezze be a futást! 39

Ismétlés szam = int(input("írj be egy 100-nál nagyobb számot! ")) if (szam > 100): print("köszönöm!") else: szam = int(input("írj be egy 100-nál nagyobb számot! ")) if (szam > 100): print("köszönöm!") else: szam = int(input("írj be egy 100-nál nagyobb számot! ")) if (szam > 100): print("köszönöm!") else: print("feladom!") 40

Nem adom fel, míg nem robbanok szét... Mi a helyzet, ha nem adjuk fel, hanem addig kérjük a számot, amíg 100-nál nagyobbat nem kapunk? erre használhatjuk a while ciklust (a while jelentése amíg): szam = 0 while (szam < 100): szam = int(input("írj be egy 100-nál nagyobb számot! ")) print("köszönöm!") 41

Ismétlés while ciklussal while <feltétel>: A <feltétel> egy kifejezés, melynek értéke igaz (True) vagy hamis (False) lehet Itt is a behúzás jelzi a while-hoz tartozó, ismételendő utasításblokkot Ez az utasításblokk mindaddig újra és újra végrehajtódik amíg a <feltétel> igaz 42

Ismétlés while ciklussal while <feltétel>: igen <feltétel> igaz? nem 43

Gondoltam egy számra! Házi feladat Olyan programot kezdtünk el írni, mely kisorsol egy véletlen számot 1 és 100 között, majd arra kéri a felhasználót, hogy találja ki a sorsolt számot. A program úgy segíti a felhasználót, hogy annak minden tippje után kiírja, hogy a sorsolt szám nagyobb vagy kisebb, mint a felhasználó tippje. A program mindaddig kéri a felhasználó tippjeit, amíg a felhasználó ki nem találja a sorsolt számot. Egészítsd ki a hiányos programot! 44

Gondoltam egy számra! from random import randint szam = randint(1, 100) print("gondoltam egy számra 1 és 100 között.")... while (...): tipp =... if (...): print("nem, ennél kisebbre gondoltam.") else: if (...): print("nem, ennél nagyobbra gondoltam.") else: print("igen, eltaláltad!") 45

Összefoglalás program, programozás, programnyelvek a Python nyelv és az IDLE környezet változók és adattípusok: egész, szöveg, igaz/hamis műveletek szövegekkel és számokkal típus átalakító függvények: int(), str() konzol input/output: input(), print() feltételes elágazás: if, elif, else ismétlés: while 47

További anyagok on-line: https://www.python.org/ https://docs.python.org/3/ https://www.python.org/downloads/ http://python.hu/ http://python.hu/magyar-nyelvu-dokumentaciok http://python.hu/peldaprogramok http://harp.pythonanywhere.com/python_doc/tutorial/index.html 48

További anyagok könyvek Gérard Swinnen, Tanuljunk meg programozni Python nyelven, 2005 http://mek.oszk.hu/08400/08435/08435.pdf Koós Antal, Python a gépben, TypoTeX 2016 http://www.interkonyv.hu/konyvek/koos_antal_python_a_gepben 49

Készítette: Buttyán Levente Levente.Buttyan@gmail.com CoderDojo Szentendre 2017 50