Python gyerekeknek - kiírás és beolvasás

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ő:

hellovilag.png

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:

szianev.png

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 !.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License