Kategória: Python gyerekeknek.
Kiírás
A Scratch után elsőre szokatlan lesz pár dolog:
- A programot szövegként írni kell, és nem létező blokkokat felhasználni.
- Egy szövegbe bármit írhatunk, viszont a program csak azt érti, amit az ő nyelvén írtunk meg neki, egyébként hibát ír ki.
- A Scratch-ben nem igazán voltak hibaüzenetek, itt arra kell számítani, hogy lesznek.
Kiírni dolgokat a print() utasítással tudunk:
>>> print('Helló, világ!') Helló, világ!
A >>> eleve ott van, azt nem kell beírnunk, csak azt, hogy print('Helló, világ!'). Majd üssünk Entert. Ha mondent jól csináltunk, akkor kiírja azt, hogy Helló, világ!
A kiíratandó szöveget tehetjük egyszeres és kétszeres idézőjelek közé is. A Pythonban az egyszeres az elterjedtebb, ezért mi is azt használjuk.
Most készítsük el életünk első igazi Python programját! Az IDLE-ben kattintsunk a File → New File menüpontra. Egy üres szövegszerkesztő ablakot dob fel, melynek felső sorában az untitled szerepel. Ide gépeljük be az alábbit:
print('Helló, világ!')
Majd válasszuk ki a File → Save (mentés) menüpontot. Keressünk egy olyan könyvtárat a számítógépünkön, amit később is megtalálunk, és mentsük oda, helloworld.py néven. Elég csak azt beírni, hogy helloworld, a py kiterjesztést magától hozzáteszi. Én a d:\prog\python\IDLE\ könyvtárba mentettem, mert külön gyűjtöm a programozással kapcsolatos dolgokat, azon belül a Pythont, és ennek a tananyagnak az elkészítéséhez létrehoztam azon belül még egy könyvtárat, ami történetesen a használt szerkesztőre utal. Nem kötelező ezt használnotok, de olyan helyet válasszatok, ahol később megtaláljátok.
Indítsuk el a programot a szerkesztőből a Run → Run Module menüpont kiválasztásával, vagy az F5 megnyomásával. Ha mindent jól csináltunk, akkor az IDLE Shell albalkban az alábbi jelenik meg:
================================ RESTART: D:/prog/python/IDLE/helloworld.py ================================ Helló, világ!
Ezt nemcsak az IDLE programból tudjuk elindítani. Nyissunk egy parancssori értelmezőt (cmd) menjünk be a fenti könyvtárba (pl. cd d:\prog\python\IDLE\), és ott ajduk ki a következő parancsot:
python helloworld.py
Ha mindent jól csináltunk, ott is kiírja azt, hogy Helló, világ!
A Scratchben a fenti programhoz hasonló a következő:
Beolvasás
Kiírni már tudunk; most lássuk a beolvasást! Készítsük el az alábbi programot:
name = input('Hogy hívnak? ') print('Szia, ' + name + '!')
Az input() utasítással lehet bekérni adatot a felhasználótól. Az eredményt egy ún. változóba tesszük, amiről még lesz szó bővebben. Ennek a változónak azt a nevet adtuk, hogy name. Ez elvileg bármi lehetne, viszont érdemes olyat választani, hogy ha később elolvassuk a saját kódunkat, akkor tudjuk, hogy mit jelent. A megnevezéseket angolul szokás megadni, emiatt mi is így teszünk, hogy szokjuk.
A példában a print() utasítás picit bonyolultabb lett: megjelent benne két összeadás. Viszont itt nem számokat adunk össze, hanem szövegeket.
Indítsuk el a programot! Kérni fogja a nevünket; írjuk be, és üssünk Entert! Ha mindent jól csináltunk, akkor a következő jelenik meg:
Hogy hívnak? Csaba Szia, Csaba!
A Scratchben ennek megfelelő az alábbi:
Megjegyzés: általában a programozási nyelvekben ugyanazt a feladatot többféleképpen is meg tudjuk oldani. Az alábbiak mind egyenértékűek. Tulajdonképpen mindegy, hogy melyiket használjuk, de érdemes egyet kiválasztani, és minden esetben azt alkalmazni.
name = 'Csaba' print('Szia, ' + name + '!') # megegyezik a fentivel print('Szia,', name + '!') # vesszővel is el tudjuk választani azt, amit ki szerenténk írni print('Szia, ', name, '!', sep='') # alapértelmezéett elválasztó a szóköz; itt üres karakterre változtattuk print(f'Szia, {name}!') # ha egy f betűt teszünk a szöveg elé, akkor kapcsos zárójelek között megadhatjunk változót print("Szia, " + name + "!") # használhatunk idézőjelet aposztrof helyett; mindegyik esetben print("Szia, " + name + '!') # keverhetjük is az idézőjelet és az aposztrofot, de ez nagyon nem ajánlott
Két fontos dologgal még ismerkedjünk meg az elején!
- Megjegyzéseket úgy tudunk írni a kódba, hogy feloldójelet (#) teszünk oda. Ami a sorban ezután következik, azt a Python figyelmen kívül hagyja.
- A pass utasítás nem csinál semmit. Látszólag nincs neki értelme, ám vannak helyzetek, amikor hasznos lehet.
# A következő sor nem csinál semmit. pass # ez a sor nem csinál semmit
Feladat
Tegyen fel egy kérdést, kérje be a választ, majd írja ki a megadott választ, végül külön sorba a helyes választ. Megoldás:
answer = input('Mi Magyarország fővárosa? ') print('A beírt válasz: ' + answer) print('A helyes válasz: Budapest')
Önálló feladat
A fenti mintájára készíts több kérdést!
Teszt
1. feladat
Tekintsük az alábbi kódot!
fruit = input('Írj be egy gyümölcsöt: ') print(fruit + '-' + fruit + '-' + fruit)
Futáskor beírjuk, hogy alma. Mi lesz a végeredmény?
A alma '-' alma '-' alma
B alma-alma-alma
C fruit-fruit-fruit
D alma + '-' + alma + '-' + alma
2. feladat
Mit csinál az alábbi kód?
print('egy') input('') print('kettő')
A El se indul a program, azonnal hibát ír ki.
B Elindul a program, kiírja, hogy egy de amikor az input('') sorhoz ér, akkor hibával leáll.
C Az input('') sornak nincs hatása. Kiírja, hogy egy, majd azonnal kiírja, hogy kettő, végül leáll.
D Kiírja, hogy egy, majd megáll a program futása, és Enter lenyomása után kiírja, hogy kettő.
3. feladat
Mit csinál az alábbi kód?
print('Szia ' + input('Hogy hívnak? ') + '!')
A Semmit, ez egy hibás kód.
B Kiírja, hogy Szia,, majd kiírja, hogy Hogy hívnak?, utána be lehet írni a nevünket, végül kiír egy felkiáltójelet.
C Kiírja, hogy Hogy hívnak?, oda be tudjuk írni a nevünket, majd kiírja, hogy pl. Szia Csaba!.
D Ki írja, hogy Hogy hívnak?, oda be tudjuk írni a nevünket, de a végén csak azt íjra ki, hogy Szia !.